| | |
| | | ON_WM_DESTROY() |
| | | ON_WM_SIZE() |
| | | ON_WM_CTLCOLOR() |
| | | ON_COMMAND(ID_MENU_FILE_EXIT, &CBoounionPLCDlg::OnMenuFileExit) |
| | | ON_UPDATE_COMMAND_UI(ID_MENU_FILE_EXIT, &CBoounionPLCDlg::OnUpdateMenuFileExit) |
| | | ON_COMMAND(ID_MENU_FILE_SETTINGS, &CBoounionPLCDlg::OnMenuFileSettings) |
| | | ON_UPDATE_COMMAND_UI(ID_MENU_FILE_SETTINGS, &CBoounionPLCDlg::OnUpdateMenuFileSettings) |
| | | ON_COMMAND(ID_MENU_HELP_ABOUT, &CBoounionPLCDlg::OnMenuHelpAbout) |
| | | ON_WM_INITMENUPOPUP() |
| | | END_MESSAGE_MAP() |
| | | |
| | | |
| | |
| | | m_pPagePlcList = new CPagePlcList(); |
| | | m_pPagePlcList->Create(IDD_PAGE_PLC_LIST, this); |
| | | m_pPagePlcList->ShowWindow(SW_SHOW); |
| | | |
| | | |
| | | // 菜单 |
| | | CMenu menu; |
| | | menu.LoadMenu(IDR_MENU_APP); |
| | | SetMenu(&menu); |
| | | |
| | | |
| | | ShowWindow(SW_MAXIMIZE); |
| | |
| | | return static_cast<HCURSOR>(m_hIcon); |
| | | } |
| | | |
| | | void CBoounionPLCDlg::OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu) |
| | | { |
| | | ASSERT(pPopupMenu != NULL); |
| | | |
| | | CCmdUI state; |
| | | state.m_pMenu = pPopupMenu; |
| | | ASSERT(state.m_pOther == NULL); |
| | | ASSERT(state.m_pParentMenu == NULL); |
| | | |
| | | HMENU hParentMenu; |
| | | if (AfxGetThreadState()->m_hTrackingMenu == pPopupMenu->m_hMenu) |
| | | state.m_pParentMenu = pPopupMenu; |
| | | else if ((hParentMenu = ::GetMenu(m_hWnd)) != NULL) |
| | | { |
| | | CWnd* pParent = this; |
| | | if (pParent != NULL && |
| | | (hParentMenu = ::GetMenu(pParent->m_hWnd)) != NULL) |
| | | { |
| | | int nIndexMax = ::GetMenuItemCount(hParentMenu); |
| | | for (int nIndex = 0; nIndex < nIndexMax; nIndex++) |
| | | { |
| | | if (::GetSubMenu(hParentMenu, nIndex) == pPopupMenu->m_hMenu) |
| | | { |
| | | state.m_pParentMenu = CMenu::FromHandle(hParentMenu); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | state.m_nIndexMax = pPopupMenu->GetMenuItemCount(); |
| | | for (state.m_nIndex = 0; state.m_nIndex < state.m_nIndexMax; |
| | | state.m_nIndex++) |
| | | { |
| | | state.m_nID = pPopupMenu->GetMenuItemID(state.m_nIndex); |
| | | if (state.m_nID == 0) |
| | | continue; |
| | | |
| | | ASSERT(state.m_pOther == NULL); |
| | | ASSERT(state.m_pMenu != NULL); |
| | | if (state.m_nID == (UINT)-1) |
| | | { |
| | | state.m_pSubMenu = pPopupMenu->GetSubMenu(state.m_nIndex); |
| | | if (state.m_pSubMenu == NULL || |
| | | (state.m_nID = state.m_pSubMenu->GetMenuItemID(0)) == 0 || |
| | | state.m_nID == (UINT)-1) |
| | | { |
| | | continue; |
| | | } |
| | | state.DoUpdate(this, TRUE); |
| | | } |
| | | else |
| | | { |
| | | state.m_pSubMenu = NULL; |
| | | state.DoUpdate(this, FALSE); |
| | | } |
| | | |
| | | UINT nCount = pPopupMenu->GetMenuItemCount(); |
| | | if (nCount < state.m_nIndexMax) |
| | | { |
| | | state.m_nIndex -= (state.m_nIndexMax - nCount); |
| | | while (state.m_nIndex < nCount && |
| | | pPopupMenu->GetMenuItemID(state.m_nIndex) == state.m_nID) |
| | | { |
| | | state.m_nIndex++; |
| | | } |
| | | } |
| | | state.m_nIndexMax = nCount; |
| | | } |
| | | } |
| | | |
| | | void CBoounionPLCDlg::OnDestroy() |
| | | { |
| | |
| | | |
| | | return m_hbrBkgnd; |
| | | } |
| | | |
| | | void CBoounionPLCDlg::OnMenuFileSettings() |
| | | { |
| | | //CSettingsDlg dlg; |
| | | //dlg.DoModal(); |
| | | } |
| | | |
| | | void CBoounionPLCDlg::OnUpdateMenuFileSettings(CCmdUI* pCmdUI) |
| | | { |
| | | pCmdUI->Enable(FALSE); |
| | | } |
| | | |
| | | void CBoounionPLCDlg::OnMenuFileExit() |
| | | { |
| | | PostMessage(WM_CLOSE); |
| | | } |
| | | |
| | | void CBoounionPLCDlg::OnUpdateMenuFileExit(CCmdUI* pCmdUI) |
| | | { |
| | | pCmdUI->Enable(TRUE); |
| | | } |
| | | |
| | | void CBoounionPLCDlg::OnMenuHelpAbout() |
| | | { |
| | | CAboutDlg dlgAbout; |
| | | dlgAbout.DoModal(); |
| | | } |