Scris cadru fereastra procedura

Procedura fereastra pentru o fereastră de cadru MDI este similară cu cea a ferestrei principale a aplicației non-MDI. Diferența este că un cadru fereastra procedură trece toate mesajele se ocupa nu la funcția de DefFrameProc , mai degrabă decât la funcția de DefWindowProc . În plus, procedura fereastra cadru trebuie să treacă, de asemenea, unele mesaje care se ocupa, inclusiv cele enumerate în tabelul următor.

Mesaj Răspuns
WM_COMMAND Activează fereastra copil MDI care utilizatorul alege. Acest mesaj se trimite atunci când utilizatorul alege o fereastră de copil MDI din meniul fereastră a ferestrei MDI cadru. Identificatorul de fereastra care însoțește acest mesaj identifică fereastra copil MDI a fi activat.
WM_MENUCHAR Se deschide din meniul fereastră a MDI copil ferestrei active atunci când utilizatorul apasă alt +-(minus) combinația de taste.
WM_SETFOCUS Trece tastatură focalizarea la fereastra de client MDI, care la rândul său trece-l la fereastra copil MDI active.
WM_SIZE Redimensionează ferestrei MDI client pentru a se potrivi în fereastră nouă pentru cadru client zona. Dacă procedura cadru fereastra Dimensiuni ferestrei MDI client la o altă dimensiune, nu ar trebui să se treacă la mesajul la funcția de DefWindowProc.

Cadru fereastra procedura în Multipad este numit MPFrameWndProc. Manipularea alte mesaje de MPFrameWndProc este similar cu cel de aplicații non-MDI. WM_COMMAND mesajele în Multipad sunt manipulate de funcția CommandHandler definite local. Pentru mesajele de comandă nu ocupa de Multipad, CommandHandler apelează funcția DefFrameProc . Dacă Multipad nu utilizați DefFrameProc implicit, utilizatorul nu poate activa o fereastra copil din meniul fereastră , deoarece WM_COMMAND mesajul trimis făcând clic pe elementul de meniu a ferestrei ar fi pierdut.

Index