Hallo,
ich möchte wenn ein Editfeld den Focus bekommt, Zeichen eingeben und wenn die Entertaste gedrückt wird wieder zurück in die Hauptnachrichten Schleife . Gibt es eine Nachricht dafür so wie im Beispiel bei WM_CREATE und WM_DESTROY?
static LONG_PTR PrevWndProcEdit;
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static HWND hwndEditAlt;
switch (message)
{
case WM_CREATE:
hwndEditAlt = CreateWindow("EDIT","",WS_VISIBLE|WS_CHILD|WS_BORDER,20,20,100,30,
hwnd,0,((LPCREATESTRUCT)lParam)->hInstance,0);
PrevWndProcEdit = SetWindowLongPtr (hwndEditAlt, GWLP_WNDPROC,
(LONG_PTR) EditWndProc);
return 0;
case WM_DESTROY:
SetWindowLongPtr (hwndEditAlt, GWLP_WNDPROC, PrevWndProcEdit);
PostQuitMessage (0);
return 0;
}
return DefWindowProc (hwnd, message, wParam, lParam);
}
LRESULT CALLBACK EditWndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_CHAR:
MessageBox (NULL, "Taste!", "Tasteneingabe im Editfeld", NULL);
break;
}
}
ich möchte wenn ein Editfeld den Focus bekommt, Zeichen eingeben und wenn die Entertaste gedrückt wird wieder zurück in die Hauptnachrichten Schleife . Gibt es eine Nachricht dafür so wie im Beispiel bei WM_CREATE und WM_DESTROY?
static LONG_PTR PrevWndProcEdit;
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static HWND hwndEditAlt;
switch (message)
{
case WM_CREATE:
hwndEditAlt = CreateWindow("EDIT","",WS_VISIBLE|WS_CHILD|WS_BORDER,20,20,100,30,
hwnd,0,((LPCREATESTRUCT)lParam)->hInstance,0);
PrevWndProcEdit = SetWindowLongPtr (hwndEditAlt, GWLP_WNDPROC,
(LONG_PTR) EditWndProc);
return 0;
case WM_DESTROY:
SetWindowLongPtr (hwndEditAlt, GWLP_WNDPROC, PrevWndProcEdit);
PostQuitMessage (0);
return 0;
}
return DefWindowProc (hwnd, message, wParam, lParam);
}
LRESULT CALLBACK EditWndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_CHAR:
MessageBox (NULL, "Taste!", "Tasteneingabe im Editfeld", NULL);
break;
}
}