Пример #1
0
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);
  }
Пример #2
0
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);
        }
     }
  }