VC 透明矩形怎麼畫,MFC畫一個透明的矩形框

2021-05-04 15:42:59 字數 4832 閱讀 2467

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圓,如圖所示。將檢視點為主檢視將半圓...