MFC 動態的畫線 畫當前的線是清除上一次畫的線

2022-08-15 21:12:23 字數 1171 閱讀 1238

所謂的動態畫線,畫矩形,畫橢圓的本質就是在於消隱問題的解決以及對windows訊息迴圈機制的理解,消隱問題:

因為mfc中有乙個函式setrop2,通過將該函式的引數設定為r2—not(當前繪製的畫素值設為螢幕畫素值的反色,「螢幕」二字是指你所繪製的圖形所佔據的那一部分螢幕區域,即直線所佔的螢幕區域就是直線所在的那一段線的區域),利用這一點通過在同一區域重複畫兩次便可以將該區域的形狀消隱。

首先:建立乙個單文件程式,名稱為demo

然後:在檢視類的宣告檔案裡面加入資料成員

classcdemoview :publiccview

;

接著:在檢視類的建構函式裡面

cdemoview::cdemoview()

接著:為檢視類新增滑鼠左鍵,滑鼠移動,滑鼠左鍵釋放訊息

voidcdemoview::onlbuttondown(uintnflags, cpoint point)

voidcdemoview::onmousemove(uintnflags, cpoint point)

cview::onmousemove(nflags, point);

}

voidcdemoview::onlbuttonup(uintnflags, cpoint point)

cview::onlbuttonup(nflags, point);

}

view類中畫線的4種方法,MFC畫直線

todo 在此新增訊息處理程式 和 或呼叫預設值 首先獲得裝置的表述表 hdc hdc hdc getdc m hwnd 移動到線條的起點 movetoex hdc,m ptorign.x,m ptorign.y,null 畫線 lineto hdc,point.x,point.y released...

利用MFC的CClientDC類實現畫線功能

cclientdc 派生於cdc 類,在建構函式時呼叫 getdc 函式,在析構時呼叫 releasedc 函式。cclientdc dc this cclientdc dc getparent 可繪製直線到工具欄等地方 dc.moveto m ptorigin dc.lineto point mf...

關於API畫不同顏色的線

畫線函式movetoex 本函式將當前繪圖位置移動到某個具體的點,同時也可獲得之前位置的座標 wingdiapi bool winapi movetoex hdc hdc,int x,int y,lppoint lppoint 引數 hdc hdc 傳入引數,裝置上下文控制代碼。int x 傳入引數...