Salute,
I have a little problem with tabbing through my own created controls.
All works fine, except the tabbing.
If I tab to the first control the VK_ENTER and VK_RETURN were correct handled, but I can't tab forward, means it stays on the first control and waits for handling the message.
So, how could I tell the GETDLGCODE to tab forward if VK_TAB is pressed ?
Here's an extract of my controls MessageProc ...
If I remove case WM_GETDLGCODE: from the code only the WM_KEYUP (VK_SPACE) is working and the WM_KEYDOWN is ignored ...Code:case WM_KEYDOWN: if (wParam == VK_RETURN) { IsHover = false; hbmp = bmpHover; ::InvalidateRect (hWndCtrl, NULL, TRUE); ::UpdateWindow (hWndCtrl); ::PostMessage (hWndParent, WM_COMMAND, MAKEWPARAM(ctrlID, 0), reinterpret_cast<long> (hWndCtrl)); } break; case WM_KEYUP: if (wParam == VK_SPACE) { IsHover = false; hbmp = bmpHover; ::InvalidateRect (hWndCtrl, NULL, TRUE); ::UpdateWindow (hWndCtrl); ::PostMessage (hWndParent, WM_COMMAND, MAKEWPARAM(ctrlID, 0), reinterpret_cast<long> (hWndCtrl)); } break; case WM_GETDLGCODE: return DLGC_WANTMESSAGE;
Thanx for attention ...
EDIT:
WM_KEYDOWN and WM_KEYUP isn't necessary.
[SOLVED][/SOLVED]Code:case WM_GETDLGCODE: if (lParam) { pmsg = reinterpret_cast<LPMSG> (lParam); if (pmsg->wParam == VK_RETURN || pmsg->wParam == VK_SPACE) { IsHover = false; hbmp = bmpHover; ::InvalidateRect (hWndCtrl, NULL, TRUE); ::UpdateWindow (hWndCtrl); ::PostMessage (hWndParent, WM_COMMAND, MAKEWPARAM(ctrlID, 0), reinterpret_cast<long> (hWndCtrl)); return DLGC_WANTMESSAGE; } } break;
Greetz
Greenhorn



LinkBack URL
About LinkBacks




