Home  >  Article  >  Computer Tutorials  >  How to get the coordinate code of the mouse-pressed position in the client area of ​​a dialog box in MFC?

How to get the coordinate code of the mouse-pressed position in the client area of ​​a dialog box in MFC?

WBOY
WBOYforward
2024-01-24 20:48:051137browse

How to get the coordinates of the mouse click position in the client area of ​​the dialog box in MFC

//Display the coordinates of the mouse in the client area in real time at the title of the dialog window

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); //Format the mouse coordinate point information and save it to the CString type variable str

SetWindowText(str); //Update program window Edit control text

CDialog::OnMouseMove(nFlags, point);

}

How to get the coordinate code of the mouse-pressed position in the client area of ​​a dialog box in MFC?

//When the mouse is clicked, the coordinates of the mouse in the client area are displayed

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);

}

How to get the coordinate code of the mouse-pressed position in the client area of ​​a dialog box in MFC?

How does MFC obtain the position coordinates of the control on the dialog box

To achieve this effect, you need to know the coordinates of the similar positions in the two pictures and the coordinates of the two controls on the dialog box. Then through addition and subtraction operations, you can get the coordinates of the similar areas on the image in the dialog box. , just connect these two coordinates with a straight line.

To this end, how to obtain the coordinates of the control on the dialog box is the key issue. The following small test program is written to connect the points in the two picture controls with straight lines. The more intuitive one is the four corners of the picture control, so the corners of the controls are connected in the program. First, place two picture controls of the same size side by side on the dialog box, set their identifiers to IDC_LEFT and IDC_RIGHT respectively, then add two edit boxes to display the size of the picture controls, and add corresponding data to these two edit boxes. Members m_row and m_colume. Add a button to connect the points in the picture control, and add the member function OnMatch() for this button.

void CControlDlg::OnMatch(){// TODO: Add your control notification handler code here

CRect rectL,rectR;

How to get the coordinates of the mouse in MFC's OnMouseMove message processing function

void CQiHuoView::OnMouseMove(UINT nFlags, CPoint point)//mouse movement

{

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); //Display coordinates, 800,300 here is the displayed position, set it according to the situation

The above is the detailed content of How to get the coordinate code of the mouse-pressed position in the client area of ​​a dialog box in MFC?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:docexcel.net. If there is any infringement, please contact admin@php.cn delete