1樓:匿名使用者
1、在view類的onlbuttonup訊息處理函式中加入:
cclientdc dc(this);
cbrush *pbrush=cbrush::fromhandle((hbrush)getstockobject(null_brush)) ;
cbrush *poldbrush=dc.selectobject(pbrush);//選入裝置描述表
dc.rectangle(crect(m_ptorigin,point));//繪製矩形
dc.selectobject(poldbrush);
2、只需要響應兩個訊息:wm_lbuttondown,和wm_lbuttonup即可.下面是實現的**,其中,m_origpoint是我在cmfcview類中新增的cpoint型別的成員變數.
//wm_lbuttondown訊息響應函式
void cmfcview::onlbuttondown(uint nflags,cpoint point)
//wm_lbuttonup訊息響應函式
void cmfcview::onlbuttonup(uint nflags,cpoint point)
2樓:匿名使用者
對不起,先想錯了。
應該是對畫刷的設定:
pdc->selectstockobject (null_brush);
這樣,矩形的填充就是透明的了!
然後再畫。
3樓:英語一級
首先你要定義一個筆的物件這裡以畫刷為例:
cbrush *pbrush;
pbrush=cbrush::fromhandle((hbrush)getstockobject(null_brush))
注意要進行強制型別轉換,最後是一個空的畫刷去填充矩形區域,你用預設的畫刷,就會用白色去填充,這樣就會覆蓋之前的圖形
4樓:
定義空畫刷:selectstockobject(null_brush);
mfc畫一個透明的矩形框
5樓:
你可以用畫線的方法代替畫矩形,畫四條直線就可以了,起點和終點都知道畫起來很容易。
6樓:匿名使用者
onlbuttondown onlbuttonup只是做標記和釋放吧,標記不做也可以,在move裡面可以獲取滑鼠狀態。
onmousemove裡面,需要用dc的函式setrop2(r2_not);先設定繪畫模式就可以了,這樣後面畫矩形就是透明的。
mfc 畫一個透明矩形
7樓:
向裝置上下文dc選入一個空畫刷br和一個紅畫筆pen即可簡單例項如下:
//cbrush br;
//cpen pen;
pen.createpen(ps_solid,1,rgb(255,0,0));
br.createstockobject(null_brush);
dc.selectobject(&pen);
dc.selectobject(&br);
//dc.rectangle(1,1,100,100);
8樓:匿名使用者
cdc *pdc;
pdc = getdc();
cbrush cbr;
cbr.createstockobject(null_brush); //建立一個空畫刷
cbrush *poldbr = pdc->selectobject(&cbr);
cpen cpen;
cpen.createpen(ps_solid, 1, rgb(255, 0, 0)); //建立一個紅色的畫筆
cpen *poldpen = pdc->selectobject(&cpen);
pdc->rectangle(10, 10, 100, 100);
pdc->selectobject(poldpen);
cbr.deleteobject();
pdc->selectobject(poldbr);
cbr.deleteobject();
c++ mfc 如何畫一個有透明填充色的矩形,求** 20
9樓:廖增祥
// 假設已
copy經有了一個 cdc *pdc
// 獲取bai一個透明畫刷,並將其選入設du備描述表cbrush *pbrush = cbrush::fromhandle((hbrush)getstockobject(null_brush));
cbrush *poldbrush = pdc->selectobject(pbrush);
// 使用 cdc::rectangle 函式繪製zhi矩形,dao略
// 還原裝置描述表
pdc->selectobject(poldbrush);
10樓:igo特約
關鍵**抄
如下:cclientdc dc(this);
dc.selectstockobject(null_brush);
dc.rectangle(0,0,300,200);
只需要在畫
襲出矩形之前,把null_brush這個自帶的預定義畫筆選入裝置描述表(dc)即可。
如何用vc畫一個指定填充色的矩形?
11樓:匿名使用者
建立刷子 createbrushindirect獲得dc
選定畫刷 selectobject
畫矩形 rectangle
12樓:
可用如下**:
sdk版本的:
hdc hdc=getdc(hwnd);
hbrush hbrush=createsolidbrush(rgb(122,122,122));
rect rect;
rect.bottom=0;
rect.left=0;
rect.right=100;
rect.top=100;
fillrect(hdc,&rect,hbrush);
mfc版本的:
cclientdc dc(this);
hbrush hbrush=createsolidbrush(rgb(122,122,122));
cbrush brush(rgb(122,122,122));
crect rect(0,0,100,100);
dc.fillrect(&rect,&brush);
怎樣用vc++的mfc畫矩形?
13樓:
只需要響應兩個訊息:wm_lbuttondown,和wm_lbuttonup即可。下面是實現的**,其中,m_origpoint是我在cmfcview類中新增的cpoint型別的成員變數。
//wm_lbuttondown訊息響應函式void cmfcview::onlbuttondown(uint nflags, cpoint point)
//wm_lbuttonup訊息響應函式
void cmfcview::onlbuttonup(uint nflags, cpoint point)
14樓:匿名使用者
相應wm_paint訊息,然後在裡面加入繪製矩形的**。
例如:cclientdc dc(this);//選定當前畫圖環境cpen pen(ps_solid,1,#ff0000);//做一支紅色粗細為1的筆
dc.selectobject(&pen);//將pen放到dc上dc.rectangle(100,100,200,200);//畫一個矩形
15樓:
我不使用mfc,所以給你做了個win32 c程式的例子,把這個理解了,mfc就是小兒科,
找個文件查詢下對應的mfc類就可以完成你的目標了。
#include
lresult callback wndproc(hwnd, uint, wparam, lparam);
int winapi winmain(hinstance hinstance, hinstance hprevinstance,
pstr szcmdline, int icmdshow)
cw_usedefault, cw_usedefault,
cw_usedefault, cw_usedefault,
null, null, hinstance, null);
showwindow(hwnd, icmdshow);
updatewindow(hwnd);
return msg.wparam;
}lresult callback wndproc(hwnd hwnd, uint message, wparam wparam, lparam lparam)
return defwindowproc(hwnd, message, wparam, lparam);
}效果圖:
16樓:歸悅欣
使用橡皮筋類獲取畫矩形的區域,然後該局此區域4個角座標連線成一個矩形。
17樓:匿名使用者
1、在onlbuttondown訊息記住座標point,並設定狀態為按下。
2、在onmousemove裡來判斷按下狀態並呼叫cdc的方法rectangle來畫矩形。
MFC畫透明的矩形框,MFC畫一個透明的矩形框
你可以用畫線的方法代替畫矩形,畫四條直線就可以了,起點和終點都知道畫起來很容易。onlbuttondown onlbuttonup只是做標記和釋放吧,標記不做也可以,在move裡面可以獲取滑鼠狀態。onmousemove裡面,需要用dc的函式setrop2 r2 not 先設定繪畫模式就可以了,這樣...
電腦怎麼畫頭髮,怎麼畫一個簡單的頭髮
方法 步驟 首先,我們要開啟畫圖板。然後,我們用滑鼠的左鍵點選曲線,在工具樣式欄中選擇第一個圖形,在蘸取黑色後,在畫紙上畫出一條曲線。在曲線的合適位置用滑鼠的左鍵牽拉,把所畫的曲線牽拉成我們需要的形狀,接著,我們再用同樣的方法畫第二條曲線,經過牽拉後,就成為這個樣子,接下來,我們再畫頭頂上面的一條曲...
cad中怎麼畫彈簧,在CAD裡面怎樣畫一個彈簧
用helix命令啊 命令 helix 圈數 3 扭曲 ccw 指定底面的中心點 指定底面的中心點 指定底面半徑或 直徑 d 41293 指定頂面半徑或 直徑 d 41293 指定螺旋高度或 軸端點 a 圈數 t 圈高 h 扭曲 w 129714 在俯檢視畫圓1 2圓,如圖所示。將檢視點為主檢視將半圓...