所謂的動態畫線,畫矩形,畫橢圓的本質就是在於消隱問題的解決以及對windows訊息迴圈機制的理解,消隱問題:
因為mfc中有乙個函式setrop2,通過將該函式的引數設定為r2—not(當前繪製的畫素值設為螢幕畫素值的反色,「螢幕」二字是指你所繪製的圖形所佔據的那一部分螢幕區域,即直線所佔的螢幕區域就是直線所在的那一段線的區域),利用這一點通過在同一區域重複畫兩次便可以將該區域的形狀消隱。
首先:建立乙個單文件程式,名稱為demo
然後:在檢視類的宣告檔案裡面加入資料成員
class
cdemoview :
public
cview
;
接著:在檢視類的建構函式裡面
cdemoview::cdemoview()
接著:為檢視類新增滑鼠左鍵,滑鼠移動,滑鼠左鍵釋放訊息
void
cdemoview::onlbuttondown(
uint
nflags, cpoint point)
void
cdemoview::onmousemove(
uint
nflags, cpoint point)
cview::onmousemove(nflags, point);
}
void
cdemoview::onlbuttonup(
uint
nflags, 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 傳入引數...