//클라이언트 영역의 마우스 좌표를 대화창 제목에 실시간으로 표시
void CTestDlg::OnMouseMove(UINT nFlags, CPoint 포인트)
{
// TODO: 여기에 메시지 처리기 코드를 추가하거나 기본값을 호출하세요
CString str;
str.Format("X:%d Y:%d", point.x, point.y); //마우스 좌표점 정보를 포맷하고 CString 유형 변수 str
에 저장합니다.SetWindowText(str); //프로그램 창 업데이트 제어 텍스트 편집
CDialog::OnMouseMove(nFlags, point);
}
//마우스를 클릭하면 클라이언트 영역에 마우스 좌표가 표시됩니다
void CTestDlg::OnLButtonDown(UINT nFlags, CPoint 포인트)
{
// TODO: 여기에 메시지 처리기 코드를 추가하거나 기본값을 호출하세요
CString str;
str.Format("x = %d, y = %d", point.x, point.y);
AfxMessageBox(str,MB_ICONQUESTION);
CDialog::OnLButtonDown(nFlags, point);
}
이 효과를 얻으려면 두 그림의 유사한 위치 좌표와 대화 상자의 두 컨트롤 좌표를 알아야 합니다. 그런 다음 덧셈과 뺄셈 작업을 통해 그림에서 유사한 영역의 좌표를 얻을 수 있습니다. 대화상자의 이미지를 직접 이 두 좌표를 직선으로 연결하면 됩니다.
이 때문에 대화 상자에서 컨트롤의 좌표를 어떻게 구하느냐가 핵심 문제입니다. 다음의 작은 테스트 프로그램은 두 그림 컨트롤의 점을 직선으로 연결하도록 작성되었습니다. 더 직관적인 방법은 그림 컨트롤의 네 모서리이므로 컨트롤의 모서리가 프로그램에서 연결됩니다. 먼저 대화 상자에 동일한 크기의 두 그림 컨트롤을 나란히 배치하고 해당 식별자를 각각 IDC_LEFT 및 IDC_RIGHT로 설정한 다음 두 개의 편집 상자를 추가하여 그림 컨트롤의 크기를 표시하고 해당 데이터를 이 두 편집 상자에 추가합니다. . 멤버 m_row 및 m_colume. 그림 컨트롤의 점을 연결하는 단추를 추가하고 이 단추에 대한 멤버 함수 OnMatch()를 추가합니다.
void CControlDlg::OnMatch(){// TODO: 여기에 컨트롤 알림 처리기 코드를 추가하세요
CRectL,RectR;
void CQiHuoView::OnMouseMove(UINT nFlags, CPoint point)//마우스 이동
{
CClientDC dc(this);
CP펜 대시펜(PS_SOLID,1,RGB(255,255,255));
dc.SetBkMode(투명);
dc.SelectObject(&대시펜);
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 대화 상자의 클라이언트 영역에서 마우스를 누른 위치의 좌표 코드를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!