CFormatEdit: Breite eines Textes in Pixel auslesen



  • Hi,

    ich habe hier ein Formatedit. Dort gibt es eine Funktion IsSizeValid() die prüft ob der "neue" Text von der Breite her überhaupt in das Editfeld hineinpasst. Allerdings fehlt die Anweisung zum auslesen der Breite des neuen Textes (in Pixel).

    bool CFormatEdit::IsSizeValid(const CString &strText)
    {
    	if (m_nCheckSize != def_FixedSize) return true;
    
    	CRect rcText, rcClient;
    	GetClientRect(&rcClient);
    	CClientDC ClientDC(this);
    
    	ClientDC.DrawText(strText, rcText, DT_CALCRECT);
    
    	return ( (rcText.Width() < rcClient.Width() && rcText.Height() < rcClient.Height()));
    }
    

    Jeder hier wird erkennen das die Instanz rcText keine Werte enthält... Dadurch gibt die returnanweisung immer false zurück. 😞

    Naja im Endeffekt werden dadurch keine neuen Eingaben übernommen...

    Ich hoffe ihr könnt mir helfen


Anmelden zum Antworten