Kann keinen Text in Edit-Control eingeben
-
Hey,
ich habe ein kleines Problem.
Und zwar versuche ich auf meinem Fenster ein Edit-Control anzeigen zu lassen.
Dazu habe ich folgenden Code in WndProc:static HWND hwndEdit; static TCHAR text[30]; switch (msg) { case WM_CREATE: { hwndEdit = CreateWindow(TEXT("Edit"), NULL, WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 50, 150, 20, hwnd, (HMENU) ID_EDIT, NULL, NULL); break; } }Das Control wird zwar angezeigt, jedoch kann ich keinen Text eingeben... Einfügen funktioniert... Woran liegt das? (hatte das schonmal so gemacht, da hatte es funktioniert, ich muss irgendwo einen Fehler haben)
MfG,
-haiyyu_
-
Also ich würd ma spontan sagen der braucht noch ne HINSTANCE..
//probier das mal hwndEdit = CreateWindow(TEXT("Edit"), NULL, WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 50, 150, 20, hwnd, (HMENU) ID_EDIT, GetModuleHandle(NULL, NULL);
-
//sry.. klammer vergessen hwndEdit = CreateWindow(TEXT("Edit"), NULL, WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 50, 150, 20, hwnd, (HMENU) ID_EDIT, GetModuleHandle(NULL), NULL);
-
sry man
vergiß meinen kram da passt was anderes
(man was fürn kack hab ich davorgeschlagen O.o)
-
Hey,
danke für die Antwort.
Habe es versucht, leider kann ich immer noch nichts eingeben.MfG,
-haiyyu
-
postet bitte (ausnungsweise) mal deinen/MEEEEEHR quellcode
dann schau ich ma
-
Hey,
habe es gelöst
Es hat ein TranslateMessage(&msg) gefehlt.MfG,
-haiyyu_
-
^^
-
Hey,
ich möchte jetzt keinen neuen Thread erstellen, deshalb frage ich hier.
Ich suche eine Windows-Nachricht, die ausgelöst wird, wenn der Benutzer das Fenster vergrößert/verkleinert. WM_RESIZE gibt es leider nicht und Google will mir auch nicht helfen
MfG,
-haiyyu_
-
WM_SIZE
-
Hey,
danke, das funktioniert.
Nun noch ein Problem:
Wie kann ich die Größe des Controls ändern, nachdem es erstellt wurde?MfG,
-haiyyu
-
//du brauchst das hwnd des controls oder du hohlst es dir mit GetDlgItem z.B. HWND hWndControl = GetDlgItem(hwnd/*parent*/,/*menu-id des controls*/); SetWindowPos(hWndMDI, NULL, /*X-position*/, /*Y-position*/, /*deine breite*/,/*deine höhe*/, SWP_NOZORDER); //falls dir des so passt.. //wenn dein control automatisch die größe ändern soll (mit dem parent) dann bei parent WM_SIZE einfach des einfügen
-
.. schrieb:
//du brauchst das hwnd des controls oder du hohlst es dir mit GetDlgItem z.B. HWND hWndControl = GetDlgItem(hwnd/*parent*/,/*menu-id des controls*/); SetWindowPos(hWndMDI, NULL, /*X-position*/, /*Y-position*/, /*deine breite*/,/*deine höhe*/, SWP_NOZORDER); //falls dir des so passt.. //wenn dein control automatisch die größe ändern soll (mit dem parent) dann bei parent WM_SIZE einfach des einfügenich mein natürlich
SetWindowPos(hWndControl,
-
Hey,
vielen Dank, habe noch eine letzte Frage:
Ich möchte das Edit-Control so groß wie meine Form machen, wie kann ich nun die Form-Größe auslesen?MfG,
-haiyyu_
-
//bei parent WM_SIZE: { RECT rctMain; RECT rctEdit; GetClientRect(hWnd, &rctMain); //hohle größe von main window HWND hwndEDIT = GetDlgItem(hWnd,/*menu-id von edit*/); GetWindowRect(hwndEDIT , &rctEdit); SetWindowPos(hwndEDIT , NULL,0, 0, rctMain.right,rctMain.bottom, SWP_NOZORDER); } return 0; //joa müsste so gehen ^^ außer ic hhab mich auf die schnelle vertippt
-
Hey,
vielen Dank!
Klappt perfekt.
-
kein problem
