Ich habe irgendwas verhunzt und ich finde nicht heraus was, vielleicht sieht ja jemand von euch meinen Fehler
Ein ganz simples "edit" Feld
ohne Subclass oder sonstwas, funktioniert erstmal prima
Nun will ich dem Feld einen farbigen Hintergrund geben, also mache ich im parent:
Das sieht auf den ersten Blick prima aus, Hintergrundfarbe stimmt, ich kann mit der gewählten Textfarbe reinschreiben, so weit ok
Aber wenn ich versuche ein Stück vom Text zu löschen, dann refresht er das Feld nicht, sprich der alte Text bleibt sichtbar obwohl nicht mehr vorhanden
Erst wenn ich den gesamten Text aus dem Feld lösche macht er das Feld tatsächlich leer
Text überschreiben führt dazu dass er alt und neu übereinander zeichnet, wie eine alte Schreibmaschine
Das Gleiche passiert auch wenn ich dem Fenster einen Scroll gebe, viel Text rein schreibe und scrolle, dann zeichnet er immer wieder drüber, ohne das was vorher da war zu löschen
Ich habe es ein Dutzend mal vorwärts und rückwärts probiert, ohne WM_CTLCOLOREDIT funktioniert alles einwandfrei, mit Farbe ist Chaos
Was habe ich da übersehen?
Ein ganz simples "edit" Feld
Code:
Myinput = CreateWindowEx(
WS_EX_CLIENTEDGE,
"edit", NULL,
WS_CHILD | WS_VISIBLE | ES_MULTILINE,
2, 53, 295, 150,
hWnd, NULL,
hinstance,
NULL
);
ohne Subclass oder sonstwas, funktioniert erstmal prima
Nun will ich dem Feld einen farbigen Hintergrund geben, also mache ich im parent:
Code:
case WM_CTLCOLOREDIT:
{
SetBkMode((HDC) wParam, TRANSPARENT);
SetTextColor((HDC) wParam, RGB(184,184,210) );
return (LONG) mybrush;
}
break;
Das sieht auf den ersten Blick prima aus, Hintergrundfarbe stimmt, ich kann mit der gewählten Textfarbe reinschreiben, so weit ok
Aber wenn ich versuche ein Stück vom Text zu löschen, dann refresht er das Feld nicht, sprich der alte Text bleibt sichtbar obwohl nicht mehr vorhanden
Erst wenn ich den gesamten Text aus dem Feld lösche macht er das Feld tatsächlich leer
Text überschreiben führt dazu dass er alt und neu übereinander zeichnet, wie eine alte Schreibmaschine
Das Gleiche passiert auch wenn ich dem Fenster einen Scroll gebe, viel Text rein schreibe und scrolle, dann zeichnet er immer wieder drüber, ohne das was vorher da war zu löschen
Ich habe es ein Dutzend mal vorwärts und rückwärts probiert, ohne WM_CTLCOLOREDIT funktioniert alles einwandfrei, mit Farbe ist Chaos
Was habe ich da übersehen?