Edit-Box-Text abfragen, festlegen und Text beschränken
-
ich versteh ja was es auf deutsch hast, das is ja überhaupt nicht das problem, blos weiß ich eben nicht was es bedeutet und was ich genau damit anfangen soll
-
Was soll man dazu noch sagen. Wenn du es wirklich verstehst was es heißt dann sollte es wirklich kein Problem sein.
Beim 1. Parameter gibst du die ID des Controls an, beim 2. den Integer-Wert der angezeigt werden soll.
-
SendMessage(HANDLE_EDIT, EM_SETLIMITTEXT,(WPARAM)MAX_ANZAHL, MAKELPARAM(TRUE, 0));HANDLE_EDIT: HANDLE des EditControls
MAX_ANZAHL: Limit. (DWORD-Wert, gib also keine Kommazahlen ein!)MfG.
-
Die ID des Fensters ist doch in dem Fall:
... int l6 = 20; // l6 = L6, nur klein geschrieben, nicht sechzehn hwndEditF = CreateWindow ( "edit", // Edit Fenster für Welle F NULL, WS_CHILD | WS_VISIBLE | WS_BORDER | ES_RIGHT | ES_NUMBER, 96, 356, 30, 20, hwnd, (HMENU) 17, ((LPCREATESTRUCT) lParam) -> hInstance, NULL);"(HMENU) 17" oder lieg ich da falsch? Aber wenn ich das reinsetze
SetDlgItemInt(hwndEditF, (HMENU) 17, l6, FALSE);gibts ne fehlermeldung dass der 2. Parameter kein int ist... wenn ich
SetDlgItemInt(hwndEditF, 17, l6, FALSE);eingebe, wird zwar kompiliert, aber im programm funktioniert es nicht...
ich glaub irgendwie, dass das mein problem ist... ich versteh auch nicht wieso ich die id der edit box noch angeben muss, wenn ich doch sowieso schon den handle der edit box im 1. parameter mit "hwndEditF" angebe...@Tolga: danke für deine hilfe... das ganze funktioniert, blos brauch ich des leider net, weil ich durch die größe meines edit fensters schon die anzahl der zahlen auf 3 beschränkt habe...
Edit: mir fällt grad auf dass das l6 nicht mit "Sechzehn" unterscheidbar ist... ich meine L6 blos kleingeschrieben und das is ne int variable die ich weiter oben in meinem programm global deklariert und initialisiert hab... habs auch noch ins programm eingefügt
-
Der erste Parameter ist *nicht* das Handle auf die Edit-Box. Das hätte, wie du ja schon gemerkt hast, keinen Sinn.
[in] Handle to the dialog box that contains the control.
-
hi,
also was sagt diese funktion aus:BOOL SetDlgItemInt(HWND hDlg, int nIDDlgItem, UINT uValue, BOOL bSigned);
rueckgabewert ist ein BOOL, da wird wohl drinstehen ob es funktioniert hat oder nicht.
HWND ist ein Fensterhandle, falls deine Editbox in einem Dialogfenster drin ist.
nIDDlgItem ist die ID der Editbox.
uValue is der Wert der dort erscheinen soll.
bSigned gibt an ob der Wert(uValue) ein vorzeichen hat, z.b. ein "-" (in Worten: MINUS)reicht dir das erstmal?
gruss
wir
-
Wie kann man mit so etwas 3 Seiten füllen?
@Tolga: danke für deine hilfe... das ganze funktioniert, blos brauch ich des leider net, weil ich durch die größe meines edit fensters schon die anzahl der zahlen auf 3 beschränkt habe...
Finde ich nicht wirklich überzeugend, dass man so lange rumprobieren muss, bis man die richtige Breite hat...
-
Anfänger14 schrieb:
@Tolga: danke für deine hilfe... das ganze funktioniert, blos brauch ich des leider net, weil ich durch die größe meines edit fensters schon die anzahl der zahlen auf 3 beschränkt habe...
Finde ich nicht wirklich überzeugend, dass man so lange rumprobieren muss, bis man die richtige Breite hat...
Außerdem: Kann man dann nicht trotzdem mehr hineinschreiben

Imho brauchst du schon EM_SETLIMITTEXT
-
flenders schrieb:
Außerdem: Kann man dann nicht trotzdem mehr hineinschreiben

Nur wenn ES_AUTOVSCROLL gesetzt ist!
-
Sicher das Du nicht ES_AUTOHSCROLL meinst?
Denn Links->Rechts ist immer noch Horizontal...