->Caption / ->Text ect. = Error
-
Hi,
also zuerst muss ich sagen, dass ich neu hier im Forum bin ^^.
Ich hab mir schon son bissl Cpp angeeignet und verstehe den Grund eigentlich ganz gut.
Ich will nicht lang drum rum reden:Ich möchte dass er mir via Buttonklick den Text via MessageBox ausgibt, der in einem edit-Window steht. Soweit ist alles klar. Habe dann gleich losgegooglet wie man den Text eines WNDs rausbekommt und bin auf folgede Varianten gestoßen:
Label1->Text,
Label1->Caption,
GetWindowText(...),
EM_ ... ,
WS_GETTEXTLeider funktioniert nichts von allem.
Ich bekomm fast immer einen Ausgabewert von 0.Hier ein bisschen Text von meinem Programm:
#include <windows.h> #include <stdio.h> ... ... case WM_CREATE: textbox1 = CreateWindow("edit", "", WS_CHILD | WS_VISIBLE, 10, 10, 40, 16, hwnd, (HMENU)1, (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE), NULL); ... ... case WM_COMMAND: if(LOWORD(wParam) == 3) { char str[50]; sprintf(str, "%i", ...); MessageBox(hwnd, str, "MsgBoxTitle", MB_OK); } ... ... return 0;Ich hoffe man kann mir helfen

Gruß,
paSe
-
Ähm also Dein Code ist auch falsch
.// ... sprintf(str, "%i", ...); // ...Damit bekommst Du nicht den Text aus dem Fenster.
Mit GetWindowText geht es so (der Einfachheit mal ohne dynamische Speicherallokierung):
TCHAR szCaption[1024]; GetWindowText(textbox1, szCaption, sizeof(szCaption) / sizeof(szCaption[0])); MessageBox(hwnd, szCaption, TEXT("MsgBoxTitle"), MB_OK);Das Makro TEXT("...") sorgt dafür, dass Du sowohl mit UNICODE als auch mit ANSI arbeiten kannst (genau wie TCHAR).
-
Danke du hast mir sehr geholfen!