static LRESULT CALLBACK textWndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch(message) { HANDLE_MSG(hwnd,WM_CLOSE, text_OnClose); HANDLE_MSG(hwnd,WM_COMMAND, text_OnCommand); HANDLE_MSG(hwnd,WM_CONTEXTMENU, text_OnContextMenu); HANDLE_MSG(hwnd,WM_CTLCOLOREDIT, text_OnCtlColorEdit); HANDLE_MSG(hwnd,WM_DESTROY, text_OnDestroy); HANDLE_MSG(hwnd,WM_INITMENUPOPUP,text_OnInitMenuPopup); HANDLE_MSG(hwnd,WM_MDIACTIVATE,text_OnMDIActivate); HANDLE_MSG(hwnd,WM_QUERYENDSESSION, text_OnQueryEndSession); HANDLE_MSG(hwnd,WM_SETFOCUS, text_OnSetFocus); HANDLE_MSG(hwnd,WM_SIZE, text_OnSize); case UWM_UPDATE_MENU: text_OnUpdateMenu(hwnd,GetMenu(hMainFrame)); text_OnUpdateMenu(hwnd,TextContextMenu); return 0; case UWM_CONTEXTMENU: return HANDLE_WM_CONTEXTMENU(hwnd,wParam,lParam, text_OnContextMenu); } return DefMDIChildProc(hwnd, message, wParam, lParam); }
static void text_OnMDIActivate( HWND hwnd, BOOL active, HWND hActivate, HWND hDeactivate) { CheckMenuItem(TextMenu,GetWindowWord(hwnd,0), (unsigned) (active ? MF_CHECKED : MF_UNCHECKED)); if (active) { text_OnUpdateMenu(hwnd,GetMenu(hMainFrame)); if (FORWARD_WM_MDISETMENU(MDIClientWnd,TRUE,TextMenu, TextWindowMenu,SendMessage) != 0) { DrawMenuBar(hMainFrame); PostMessage(hMainFrame,UWM_UPDATE_TOOLBAR,0,0); } } }