Mausposition
-
Folgendes:
Habe diesen Code benutzt um die Mausposition abzufragen.
Dabei erstelle ich einen CString PositionText.
Wie kann ich nun auf dem String in einem anderen Dialog ( CPositionDlg ) zugreifen ?
void CMausposition::OnLButtonDown(UINT nFlags, CPoint point) { ::GetCursorPos(&point); m_lx = point.x+1; m_ly = point.y+1; CString PositionText; PositionText = ("\r\nDie aktuelle Position ist:\r\n\r\nH: %d\r\nV: %d\r\n", point.x+1, point.y+1); CPositionDlg dlg; dlg.DoModal(); int ret = dlg.GetReturnState(); TRACE("%d",ret); if (ret == IDYES) { CDialog::OnOK(); } else if (ret == IDCANCEL) { CDialog::OnCancel(); } else { m_lx = 0; m_ly = 0; } CDialog::OnLButtonDown(nFlags, point); }
-
Du könntest in deiner Klasse CPositionDlg eine Variable CPoint anlegen und
diese vor dem Aufruf DoModal() initialisieren.class CPositionDlg { public: CPoint m_cursorPos; . . . }; void CMausposition::OnLButtonDown(UINT nFlags, CPoint point) { ::GetCursorPos(&point); m_lx = point.x+1; m_ly = point.y+1; CString PositionText; PositionText = ("\r\nDie aktuelle Position ist:\r\n\r\nH: %d\r\nV: %d\r\n", point.x+1, point.y+1); CPositionDlg dlg; dlg.m_cursorPos = CPoint(m_lx, m_ly); dlg.DoModal(); . . . }oder:
class CPositionDlg { public: void SetCursor(const CPoint& pos); private: CPoint m_cursorPos; . . . }; void CMausposition::OnLButtonDown(UINT nFlags, CPoint point) { ::GetCursorPos(&point); m_lx = point.x+1; m_ly = point.y+1; CString PositionText; PositionText = ("\r\nDie aktuelle Position ist:\r\n\r\nH: %d\r\nV: %d\r\n", point.x+1, point.y+1); CPositionDlg dlg; dlg.SetCursor(CPoint(m_lx, m_ly)); dlg.DoModal(); . . . }
-
bedeutet das , das ich im dialog position.dlg nun die werte von m_cursorPos beziehe? wenn ich die member dort eingebe kommt ne fehlermeldung