l'applicazione testata in win98, 2000 non da problemi, ossia le form presentano il cursore sul primo edit (come così definito)
con il tab si passa da un controllo ad un'altro nella stessa form, si usa con successo il Crtl+6 (passaggio tra le win) e
il Ctrl+4 (chiusura win), tutto ciò in vista NON FUNZIONA ....
- in apertura della win non è presente proprio il cursore sul primo controllo
- Crtl+6 e Crtl+4 funzionano
- se usi il tab (cliccando prima sul campo x ottenere il cursore) non passa sul prossimo controllo ... si perde
- qualsiasi altra operazione che tenti di fare non va a buon fine perchè l'applicazione è bloccata
Premessa:
- progetto realizzato in MinGW Developer Studio 2.05
- applicazione MDI così strutturata Frame Window->Mdi Client->MDI child window->Dialog Window
- le form vengono create con CreateDialog()
- i template resouce delle form hanno queste proprietà:
DIALOGO -
xStyle WS_CHILD, WS_VISIBILE, DS_CONTROL
CONTROLLO -
xExStyle WS_CONTROLPARENT
xStyle WS_CHILD, WS_VISIBILE, WS_TABSTOP
- nella procedure di MDIChil:
- in WM_CREATE Setfocus(handle della form);
- in WM_MDIACTIVATE SetFocus(GetWindow((HWND)SendMessage(g_hMDIClient, WM_MDIGETACTIVE,0,0),GW_CHILD));
- nel loop messaggi:
if(!TranslateMDISysAccel(g_hMDIClient, &Msg) && (!IsDialogMessage(GetWindow((HWND)SendMessage(g_hM DIClient, WM_MDIGETACTIVE,0,0),GW_CHILD), &Msg))) {
tutti le modifiche/tentativi hanno avuto esisto negativo e non sono riuscito a capire che succede e perchè succede ...
come si risolve!??!??