22. januar 2002 - 14:41
Der er
1 løsning
WM_KILLFOCUS
Visual C++ 6.0:
Jeg har en Edit Box control (IDC_Edit1) på mit vindue og prøver at lave noget kode, der udføres når den mister sit fokus.
Men jeg kan ikke helt finde ud af hvordan jeg kontrollerer om det er den control (altså IDC_Edit1), meddelsen er til.
Her er noget af min kode:
LRESULT CALLBACK GUIWindow (HWND hDlg, UINT msg,
WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_CLOSE:
DestroyWindow(hDlg);
return TRUE;
case WM_KILLFOCUS:
/* hvordan tester jeg for om det er den rigtige control? */
}
22. januar 2002 - 17:14
#1
Test for eventen EN_KILLFOCUS som kommer med WM_COMMAND meddelser sendt til forældre vinduet. Windowsx.h indeholder 3 funktioner, som udleder eventen, controllens ID og et handle til controllens vindue.
Funktionerne fra windows.h er:
wNotifyCode = GET_WM_COMMAND_CMD(wParam, lParam);
wID = GET_WM_COMMAND_ID(wParam, lParam);
hwndCtl = GET_WM_COMMAND_HWND(wParam, lParam);
if ((wNotifyCode == EN_KILLFOCUS) && (wID == IDC_EDIT1)) {
// i så fald mistede controllen fokus
}