SetCaretPos



  • Hi Leute,
    ich versuche in einem CEdit den Cursor immer am Textende zu halten,
    auch wenn SetWindowText aufgerufen wird.

    SetWindowText(m_strItem);
                CDC* pDC = GetDC();
                CSize size=pDC->GetTextExtent(m_strItem);
                pDC->LPtoDP(&size);
                SetCaretPos(CPoint(size.cx,0));
                delete pDC;
                pDC=NULL;
    

    klappt aber nicht,
    hat einer von euch ne Idee?????



  • Hallo !

    Vielleicht so (Auszug aus meinem Testprojekt):

    void CSetFocusDlg::OnButton2() 
    {
        CString cTxt;
        GetDlgItemText(IDC_EDIT1, cTxt);
        cTxt += "xxx";
        SetDlgItemText(IDC_EDIT1, cTxt);
        int i = cTxt.GetLength();
        GetDlgItem(IDC_EDIT1)->SetFocus();
        ((CEdit*)GetDlgItem(IDC_EDIT1))->SetSel(i, -1);      
    }
    

    Tschüss



  • Ja, das haut hin, vielen Dank!!! 🙂 🙂 🙂 🙂


Anmelden zum Antworten