MFC中如何得到對話框客戶區中鼠標點下位置的座標具體代碼
//在對話窗標題處實時顯示客戶區內鼠標的座標
void CTestDlg::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CString str;
str.Format("X:%d Y:%d", point.x, point.y); //格式化鼠標座標點信息並保存到CString型變量str中
SetWindowText(str); //更新程序窗口Edit控件文本
CDialog::OnMouseMove(nFlags, point);
}
//單擊鼠標時,顯示鼠標在客戶區內的座標
void CTestDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CString str;
str.Format("x = %d, y = %d", point.x, point.y);
AfxMessageBox(str,MB_ICONQUESTION);
CDialog::OnLButtonDown(nFlags, point);
}
MFC如何獲取控件在對話框上的位置座標
要實現這樣的效果需要知道相似位置在這兩幅圖中的座標以及這兩個控件在對話框上的座標,然後通過加減運算就可以得到圖像上的相似區域在對話框的座標,直接將這兩個座標用直線連接就可以了。
爲此,如何獲得控件在對話框上的座標是關鍵問題。編寫了如下的測試小程序,目的是將兩個picture控件中的點用直線連接起來,比較直觀的是picture控件的四個角,所以程序中是將控件的拐角連接起來。首先在對話框上並排放置兩個同樣大小的picture控件,將他們的標識分別設成IDC_LEFT和IDC_RIGHT,然後添加兩個編輯框用於顯示picture控件的大小,給這兩個編輯框添加相應的數據成員m_row和m_colume。添加一個按鈕用於連接picture控件中的點,爲這個按鈕添加成員函數OnMatch() 。
void CControlDlg::OnMatch(){// TODO: Add your control notification handler code here
CRect rectL,rectR;
如何在MFC的OnMouseMove消息處理函數中得到鼠標的座標
void CQiHuoView::OnMouseMove(UINT nFlags, CPoint point)//鼠標移動
{
CClientDC dc(this);
CPen dashpen(PS_SOLID,1,RGB(255,255,255));
dc.SetBkMode(TRANSPARENT);
dc.SelectObject(&dashpen);
int x=0,y=0;
x = point.x;
y = point.y;
CString a;a.Format(_T("%d, %d"),x,y);
dc.SetTextColor(RGB(255,0,0));
dc.TextOut(800,310,a);//顯示座標,這裏的800,300是顯示的位置,根據情況自己設置
以上就是如何在MFC中獲取對話框客戶區鼠標按下位置的座標代碼?的詳細內容,更多請關注本站其它相關文章!