2 Fragen zu Editfeldern
-
Hi
Ich habe 2 Fragen zu Editfeldern:1. Wenn ich in einem Multiline-Editfeld die DEFAULT_GUI_FONT benutze und dannscrolle, lappt der Text übereinander. Wie kann ich das verhindern bzw. wie muss ich UpdateWindow(...) verwenden, wenn ich die Schriftart so setze:
hContent = CreateWindow (TEXT("Edit"), TEXT(NULL), WS_VISIBLE | WS_CHILD | WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY, ...); SendMessage (hContent, WM_SETFONT, (WPARAM)GetStockObject (DEFAULT_GUI_FONT), 0);2. Gibt es eine Möglichkeit, in einem Editfeld den Text an den bereits vorhanden Text ranzuhängen, ohne das ich den alten Text vorher speicher und dann über wsprintf(...) den alten mit den neuen Text verbinde?
DIV Ominion
-
zu 1:
SendMessage (hContent, WM_SETFONT, (WPARAM)GetStockObject (DEFAULT_GUI_FONT), MAKELPARAM(TRUE,0));Damit sollte es eigentlich funktionieren.
zu 2:
Nein gibt es nicht. du kannst aber auch lstrcat:
The lstrcat function appends one string to another.
-
1. funktioniert leider nicht.
Bei 2. geht es mir nur darum, dass ich dann nicht extra eine Variable anlegen muss. Weil in das Editfeld muss viel rein, und deshalb ist sowas für die Programmgröße unraktisch...
-
1. Hm sollte es aber...ne andere Möglichkeit wär WM_CTLCOLOREDIT.
2. Wie ich schon sagte! Es geht nicht anders!
-
-
1. probiere ich
2. @CodeFinder: ruhig nicht gleich ausrasten.
@flenders: danke für den linkMfg Ominion
-
2. klappt wunderbar! hat mein programm doch glatt um einiges verkleinert^^
Jetzt bleibt bloß noch 1. Würde mich freuen, wenn da jemand eine Antwort weiß, da CodeFinder's Antwort ja leider nicht funktioniert hat.
-
*push*
-
Ominion schrieb:
2. @CodeFinder: ruhig nicht gleich ausrasten.
Ow, das war gar nit böse gemeint, dachte nur dassus überlesen hast...naja egal...
Emm hast du das schon probiert bzw. hat das nicht geholfen ?:
CodeFinder schrieb:
1. [...]ne andere Möglichkeit wär WM_CTLCOLOREDIT.[...]
-
noch nicht probiert, da ich nicht weiß wie ich anfangen soll...
-
Ominion schrieb:
[...]CodeFinder's Antwort ja leider nicht funktioniert hat.

Ominion schrieb:
noch nicht probiert, da ich nicht weiß wie ich anfangen soll...
Hmm...soso...:
http://winapi.net/index.php?inhalt=s13Da wirds indirekt beschrieben, lässt sich aber leicht übertragen.
-
hehe war noch auf das mit MAKELPARAM(...) bezogen

Deinen 2. Vroschlag habe ich schon vergessen gehabt^^
-
Habe den Fehler selbst gefunden: Aufgrund dessen, dass ich ein ReadOnly-Editfeld habe, wollte ich die Farbe ändern. Also habe ich
SetBkMode ((HDC)wParam, TRANSPARENT);eingefügt, um das auf die Farbe vom Programm-Hintergrund zu bringen. Als mir das nicht mehr gefiel habe ich das Editfeld weiß gefärbt, und das SetBkMode ((HDC)wParam, TRANSPARENT); nicht rausgenommen. Deshalb hat es sich verhalten, wie es sich immer verhält, wenn Transparent und ne Farbe gleichzeitig rauf sollen...
Mfg Ominion