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


Anmelden zum Antworten