Scrivendo la routine di finestra Frame

La routine di finestra per una finestra cornice MDI è simile a quella della finestra principale di un'applicazione non MDI. La differenza è che una routine della finestra cornice passa tutti i messaggi che non gestisce la funzione di DefFrameProc piuttosto che la funzione DefWindowProc . Inoltre, la routine di finestra cornice necessario passare anche alcuni messaggi che gestisce, tra cui quelli elencati nella tabella seguente.

Messaggio Risposta
WM_COMMAND Attiva la finestra figlio MDI che l'utente sceglie. Questo messaggio viene inviato quando l'utente sceglie di una finestra figlia MDI dal menu finestra della finestra cornice MDI. L'identificatore della finestra che accompagna questo messaggio identifica la finestra figlio MDI per essere attivato.
WM_MENUCHAR Apre il menu finestra della finestra figlio MDI attiva quando l'utente preme alt +-(meno) la combinazione di tasti.
WM_SETFOCUS Passa il focus della tastiera alla finestra MDI client, che a sua volta lo passa alla finestra figlio MDI attiva.
WM_SIZE Ridimensiona la finestra MDI client per adattarsi in area client della finestra cornice nuova. Se la routine della finestra cornice ridimensiona la finestra MDI client a una dimensione diversa, non dovrebbe passare il messaggio alla funzione DefWindowProc.

La routine della finestra cornice in Multipad viene chiamata MPFrameWndProc. La gestione di altri messaggi da MPFrameWndProc è simile a quello delle applicazioni non MDI. Messaggi WM_COMMAND in Multipad sono gestiti dalla funzione CommandHandler definita localmente. Per i messaggi di comando che non gestisce Multipad, CommandHandler chiama la funzione DefFrameProc . Se Multipad non fa uso di DefFrameProc per impostazione predefinita, l'utente non può attivare una finestra figlio dal menu finestra , perché il messaggio WM_COMMAND inviato cliccando la voce di menu della finestra sarebbe perduto.

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index