CEdit mit ES_READONLY: Cursor deaktivieren?
-
Halli hallo,
ich hab hier ein readonly CEdit. Wenn der Nutzer in das Feld klickt wird aber trotzdem ein blinkender Cursor angezeigt den ich gern ausschalten würde. Ich möchte das Edit aber auch nicht deaktivieren (EnableWindow), da ich dann die Textfarbe nicht mehr ändern kann und keine Tooltips angezeigt werden. Jemand eine Idee?Viele Grüße,
connan.
-
Leider nein, aber mich interessiert auch die Lösung.

-
Juchhuu, ich habs:
Auf WM_LBUTTONDOWN (des Edits) wie folgt reagieren:void CMyEdit::OnLButtonDown(UINT nFlags, CPoint point) { if(! ( GetStyle() & ES_READONLY ) ) CEdit::OnLButtonDown(nFlags, point); }Bin mir allerdings noch nicht sicher obs da noch ein paar Nebeneffekte gibt, sieht aber erstmal gut aus

-
Richtig perfekt wirds, wenn man noch auf WM_SETCURSOR reagiert:
BOOL CHTEdit::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { if( ( GetStyle() & ES_READONLY ) ) return TRUE; else return CEdit::OnSetCursor(pWnd, nHitTest, message); }Damit wird dann auch der Cursor beim 'überfahren' des Edits nicht mehr geändert.
-
Dann kann man den Inhalt aber auch nicht mehr markieren, oder?
Aber auf jeden Fall danke!

-
estartu schrieb:
Dann kann man den Inhalt aber auch nicht mehr markieren, oder?
Das ist leider wahr. Aber man kann nicht Alles haben
