濤濤在學習程式設計,歡迎各位程式設計愛好者和我一起學習
限制滑鼠即時區域
可以寫在view類的OnMouseMove中添加如下代碼
if (nFlags&&MK_LBUTTON)
{
CWnd *hwnd = GetActiveWindow();
CRect rect;
hwnd->GetWindowRect(&rect);
ClipCursor(&rect);
}
當要恢複滑鼠使用範圍時調用ClipCursor(NULL);即可。
還有SetCapture()和ReleaseCapture()的使用
畫彈性橡皮線
在view類裡響應左鍵單擊,以及滑鼠移動和左鍵彈起訊息
滑鼠移動
CClientDC dc(this);
dc.SetROP2(R2_NOT);
dc.MoveTo(oldPoint);
dc.LineTo(newPoint);
dc.MoveTo(oldPoint);
dc.LineTo(point);
newPoint = point;
左鍵按下只需記錄座標點,滑鼠彈起只需畫線。
當要畫其它圖形時要麻煩很多,因為在滑鼠移動時要用到畫刷
畫矩形
if (GetCapture()==this&& nFlags && MK_LBUTTON)
{
newPen->CreatePen(PS_DASHDOT,2,RGB(250,0,0));
oldPen = dc.SelectObject(newPen);
newBrush = CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
oldBrush = dc.SelectObject(newBrush);
dc.SetROP2(R2_NOT);
dc.Rectangle(oldPoint.x,oldPoint.y,newPoint.x,newPoint.y);
dc.Rectangle(oldPoint.x,oldPoint.y,point.x,point.y);
newPoint = point;
dc.SelectObject(oldBrush); //恢複畫筆
dc.SelectObject(oldPen);
}
為菜單設定核對或者選中標記
主要函數是SetCheck()打鉤,SetRadio()點位標記。
在命令菜單中設定變數的值,在命令更新訊息中調用pCmdUI->SetCheck(m_option==?);
m_option為當前選中的菜單的標誌變數
設定文檔背景顏色
在View類的OnDraw中添加以下代碼:
CRect rect; //建立CRect對象
GetClientRect(rect); //擷取視窗大小
pDC->FillSolidRect(rect,RGB(0,0,0)); //用RGB()來指定文檔的背景顏色
歡迎訪問本頁面,也歡迎各位程式設計愛好者和我一起學習……