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

WBOY
Release: 2024-01-24 20:48:05
forward
1136 people have browsed it

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!

source:docexcel.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template