From b978bfa096fdde06a7659838cf81ed4477777737 Mon Sep 17 00:00:00 2001 From: QuakeGod <QuakeGod@sina.com> Date: 星期五, 27 五月 2022 18:10:38 +0800 Subject: [PATCH] change frameex to frame, and add func_key dialogbar --- MTerm2/MainFrm.cpp | 165 ++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 114 insertions(+), 51 deletions(-) diff --git a/MTerm2/MainFrm.cpp b/MTerm2/MainFrm.cpp index 0786029..80b08c2 100644 --- a/MTerm2/MainFrm.cpp +++ b/MTerm2/MainFrm.cpp @@ -20,9 +20,9 @@ // CMainFrame -IMPLEMENT_DYNAMIC(CMainFrame, CMDIFrameWndEx) +IMPLEMENT_DYNAMIC(CMainFrame, CMDIFrameWnd) -BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWndEx) +BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd) ON_WM_CREATE() ON_COMMAND(ID_UPLOAD_FROM_PLC, &CMainFrame::OnUploadFromPlc) @@ -64,9 +64,19 @@ { } +BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo) +{ + // TODO: 鍦ㄦ娣诲姞涓撶敤浠g爜鍜�/鎴栬皟鐢ㄥ熀绫� + if (m_wndDlgBar_Func_Key.OnCmdMsg(nID, nCode, pExtra, pHandlerInfo)) + + return TRUE; + + return CMDIFrameWnd::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo); +} + int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { - if (CMDIFrameWndEx::OnCreate(lpCreateStruct) == -1) + if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; // m_dlgMyLog.Create(m_dlgMyLog.IDD, GetParent()); // m_dlgMyLog.ShowWindow(SW_SHOW); @@ -77,13 +87,17 @@ CString strNavView; // bNameValid = strNavView.LoadString(IDS_CLASS_VIEW); // ASSERT(bNameValid); +/* strNavView = _T("瀵艰埅瑙嗗浘"); if (!m_wndNavView.Create(strNavView, this, CRect(0, 0, 200, 200), TRUE, ID_VIEW_NAVVIEW, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI)) { TRACE0("鏈兘鍒涘缓鈥滃鑸鍥锯�濈獥鍙n"); return FALSE; // 鏈兘鍒涘缓 } - + m_wndNavView.EnableDocking(CBRS_ALIGN_ANY); + //DockPane(&m_wndNavView); + //DockControlBar(&m_wndNavView); +*/ if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) { @@ -91,37 +105,37 @@ return -1; // 鏈兘鍒涘缓 } - ///* 杈撳叆鏍� - if (!m_wndToolBar_InputShow.CreateEx(this, TBSTYLE_FLAT, + /* 杈撳叆鏍� + if (!m_wndTBar_InputShow.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_BOTTOM | CBRS_FLOAT_MULTI | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, CRect(1, 1, 1, 1), IDW_TOOL_BAR2) || - !m_wndToolBar_InputShow.LoadToolBar(IDR_TOOLBAR_INPUT_SHOW)) + !m_wndTBar_InputShow.LoadToolBar(IDR_TOOLBAR_INPUT_SHOW)) { TRACE0("鏈兘鍒涘缓鏁板瓧宸ュ叿鏍廫n"); return -1; // 鏈兘鍒涘缓 } - //*/ CRect rect1; - int index = m_wndToolBar_InputShow.CommandToIndex(ID_BUTTON_INPUT_SHOW); + int index = m_wndTBar_InputShow.CommandToIndex(ID_BUTTON_INPUT_SHOW); UINT nID,nStyle; int iImage; - m_wndToolBar_InputShow.GetButtonInfo(0, nID, nStyle, iImage); - m_wndToolBar_InputShow.SetButtonInfo(index, ID_BUTTON_INPUT_SHOW, TBBS_SEPARATOR, 100); - m_wndToolBar_InputShow.GetItemRect(index, &rect1); + m_wndTBar_InputShow.GetButtonInfo(0, nID, nStyle, iImage); + m_wndTBar_InputShow.SetButtonInfo(index, ID_BUTTON_INPUT_SHOW, TBBS_SEPARATOR, 100); + m_wndTBar_InputShow.GetItemRect(index, &rect1); rect1.left = 1; rect1.top = 2; rect1.right = rect1.left + 100; rect1.bottom = rect1.top + 20; + //*/ /* if (!m_InputShowEdit.Create(WS_CHILD | WS_VISIBLE | WS_BORDER, rect1, \ - &m_wndToolBar_InputShow, ID_BUTTON_INPUT_SHOW)) + &m_wndTBar_InputShow, ID_BUTTON_INPUT_SHOW)) { TRACE(_T("Failed to create CEdit\n")); return FALSE; } -//*/ + if (!m_InputShowStatic.Create(_T("Test1"),WS_CHILD | WS_VISIBLE |WS_EX_CLIENTEDGE, rect1, \ - &m_wndToolBar_InputShow, ID_BUTTON_INPUT_SHOW)) + &m_wndTBar_InputShow, ID_BUTTON_INPUT_SHOW)) { TRACE(_T("Failed to create CStaticEx\n")); return FALSE; @@ -129,30 +143,57 @@ m_InputShowStatic.SetBkColor(RGB(255, 255, 255)); m_InputShowStatic.SetTextColor(RGB(255, 128, 128)); m_InputShowStatic.SetTextSize(20); - +//*/ //m_InputShowEdit.SetReadOnly(true); ///* - if (!m_wndToolBar_Num.CreateEx(this, TBSTYLE_FLAT, + if (!m_wndTBar_Num_Key.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_BOTTOM | CBRS_FLOAT_MULTI | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, CRect(1,1,1,1),IDW_TOOL_BAR2) || - !m_wndToolBar_Num.LoadToolBar(IDR_TOOLBAR_NUM)) + !m_wndTBar_Num_Key.LoadToolBar(IDR_TOOLBAR_NUM_KEY)) { - TRACE0("鏈兘鍒涘缓鏁板瓧宸ュ叿鏍廫n"); + TRACE0("鏈兘鍒涘缓鏁板瓧閿伐鍏锋爮\n"); return -1; // 鏈兘鍒涘缓 } //*/ ///* - if (!m_wndToolBar_Edit.CreateEx(this, TBSTYLE_FLAT, + if (!m_wndTBar_Edit_Key.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_BOTTOM | CBRS_FLOAT_MULTI | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, - CRect(1, 1, 1, 1), IDW_TOOL_BAR_EDIT) || - !m_wndToolBar_Edit.LoadToolBar(IDR_TOOLBAR_EDIT)) + CRect(1, 1, 1, 1), IDR_TOOLBAR_EDIT_KEY) || + !m_wndTBar_Edit_Key.LoadToolBar(IDR_TOOLBAR_EDIT_KEY)) { - TRACE0("鏈兘鍒涘缓鏁板瓧宸ュ叿鏍廫n"); + TRACE0("鏈兘鍒涘缓缂栬緫閿伐鍏锋爮\n"); return -1; // 鏈兘鍒涘缓 } //*/ - +/* + if (!m_wndToolBar_Func_Key.CreateEx(this, TBSTYLE_FLAT, + WS_CHILD | WS_VISIBLE | CBRS_BOTTOM | CBRS_FLOAT_MULTI | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, + CRect(1, 1, 1, 1), IDW_TOOL_BAR_FUNC_KEY) || + !m_wndToolBar_Func_Key.LoadToolBar(IDR_TOOLBAR_FUNC_KEY2)) + { + TRACE0("鏈兘鍒涘缓鍔熻兘閿伐鍏锋爮\n"); + return -1; // 鏈兘鍒涘缓 + } + //m_wndToolBar_Func_Key.SetTwoRowsWithSibling(); + //*/ + if (!m_wndDlgBar_InputShow.Create(this, IDD_DIALOGBAR_INPUT_SHOW, WS_CHILD | WS_VISIBLE | CBRS_BOTTOM | CBRS_FLOAT_MULTI | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, + IDD_DIALOGBAR_INPUT_SHOW)) + { + TRACE0("鏈兘鍒涘缓鍔熻兘閿�2宸ュ叿鏍廫n"); + return -1; // 鏈兘鍒涘缓 + } + + ///* + if (!m_wndDlgBar_Func_Key.Create(this, IDD_DIALOGBAR_FUNC_KEYS,WS_CHILD | WS_VISIBLE | CBRS_BOTTOM | CBRS_FLOAT_MULTI | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, + IDD_DIALOGBAR_FUNC_KEYS)) + { + TRACE0("鏈兘鍒涘缓鍔熻兘閿�2宸ュ叿鏍廫n"); + return -1; // 鏈兘鍒涘缓 + } +// ShowControlBar(&m_wndDlgBar_Func_Key, TRUE, TRUE); +// m_wndDlgBar_Func_Key.MoveWindow(100, 100, 200, 200); + //*/ if (!m_wndStatusBar.Create(this)) { @@ -161,52 +202,61 @@ } m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT)); m_wndStatusBar.SetPaneStyle(0, SBPS_STRETCH); -// /* - - if (!m_wndMyPaneLog.Create(_T("鏃ュ織绐楀彛"), this, CRect(0, 0, 200, 200), TRUE, 1235, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS +/* + if (!m_wndMyPaneLog.Create(_T("鏃ュ織绐楀彛"), this->GetParent(), CRect(0, 0, 200, 200), TRUE, 1235, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_RIGHT | CBRS_FLOAT_MULTI)) { TRACE0("鏈兘鍒涘缓鈥淢yPaneLog绐楀彛\n"); return FALSE; } +// m_wndMyPaneLog.EnableDocking(CBRS_ALIGN_ANY); //*/ + m_dlgMyLog.Create(m_dlgMyLog.IDD, this); +// m_dlgMyLog.ModifyStyle(0, WS_POPUPWINDOW); + m_dlgMyLog.ShowWindow(SW_SHOW); + // TODO: 濡傛灉涓嶉渶瑕佸彲鍋滈潬宸ュ叿鏍忥紝鍒欏垹闄よ繖涓夎 m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); - DockPane(&m_wndToolBar); + //DockPane(&m_wndToolBar); + DockControlBar(&m_wndToolBar); - - m_wndMyPaneLog.EnableDocking(CBRS_ALIGN_ANY); // EnableDocking(CBRS_ALIGN_ANY); - m_wndNavView.EnableDocking(CBRS_ALIGN_ANY); - DockPane(&m_wndNavView); + + // CDockablePane* pTabbedBar = nullptr; // m_wndNavView.AttachToTabWnd(&m_wndFileView, DM_SHOW, TRUE, &pTabbedBar); ///* - m_wndToolBar_InputShow.EnableDocking(CBRS_ALIGN_ANY); - m_wndToolBar_Num.EnableDocking(CBRS_ALIGN_ANY); - m_wndToolBar_Edit.EnableDocking(CBRS_ALIGN_ANY); + m_wndDlgBar_InputShow.EnableDocking(CBRS_ALIGN_TOP | CBRS_ALIGN_BOTTOM); + m_wndTBar_Num_Key.EnableDocking(CBRS_ALIGN_ANY); + m_wndTBar_Edit_Key.EnableDocking(CBRS_ALIGN_ANY); +// m_wndToolBar_Func_Key.EnableDocking(CBRS_ALIGN_ANY); + m_wndDlgBar_Func_Key.EnableDocking(CBRS_ALIGN_TOP| CBRS_ALIGN_BOTTOM); EnableDocking(CBRS_ALIGN_ANY); // DockPane(&m_wndToolBar); - DockPane(&m_wndToolBar_InputShow); - DockPane(&m_wndToolBar_Num); - DockPane(&m_wndToolBar_Edit); - - DockPane(&m_wndMyPaneLog); + DockControlBar(&m_wndDlgBar_InputShow); + DockControlBar(&m_wndTBar_Num_Key); + DockControlBar(&m_wndTBar_Edit_Key); +// DockPane(&m_wndToolBar_Func_Key); +// DockPane(&m_wndDlgBar_Func_Key); + DockControlBar(&m_wndDlgBar_Func_Key); +// DockPane(&m_wndMyPaneLog); + + //*/ return 0; } BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { - if( !CMDIFrameWndEx::PreCreateWindow(cs) ) + if( !CMDIFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: 鍦ㄦ澶勯�氳繃淇敼 // CREATESTRUCT cs 鏉ヤ慨鏀圭獥鍙g被鎴栨牱寮� @@ -219,12 +269,12 @@ #ifdef _DEBUG void CMainFrame::AssertValid() const { - CMDIFrameWndEx::AssertValid(); + CMDIFrameWnd::AssertValid(); } void CMainFrame::Dump(CDumpContext& dc) const { - CMDIFrameWndEx::Dump(dc); + CMDIFrameWnd::Dump(dc); } #endif //_DEBUG @@ -236,18 +286,16 @@ void CMainFrame::OnUploadFromPlc() { // TODO: 鍦ㄦ娣诲姞鍛戒护澶勭悊绋嬪簭浠g爜 + SysLog(_T("Upload from PLC, (From mainframe)")); CWinAppEx* pApp = &theApp; - POSITION curTemplatePos = pApp->GetFirstDocTemplatePosition(); + + POSITION curTemplatePos = theApp.m_pDocManager->GetFirstDocTemplatePosition(); if (curTemplatePos != NULL) { - CDocTemplate* curTemplate = pApp->GetNextDocTemplate(curTemplatePos); - curTemplate->OpenDocumentFile(NULL); - //CView* thisView = GetActiveView(); - CMTerm2Doc* pDoc = (CMTerm2Doc*)GetActiveDocument(); -// pDoc->OnNewDocument(); - pDoc->OnUploadFromPlc(); + CDocTemplate* curTemplate = theApp.m_pDocManager->GetNextDocTemplate(curTemplatePos); + CMTerm2Doc* pDoc = (CMTerm2Doc* ) curTemplate->OpenDocumentFile(NULL); + if (pDoc) pDoc->OnUploadFromPlc(); } - //SysLog(_T("From mainframe")); } @@ -255,18 +303,27 @@ { // TODO: 鍦ㄦ娣诲姞鍛戒护澶勭悊绋嬪簭浠g爜 m_wndMyPaneLog.ShowWindow(SW_SHOW); + m_wndNavView.ShowWindow(SW_SHOW); } void CMainFrame::OnViewFunckeyBar() { // TODO: 鍦ㄦ娣诲姞鍛戒护澶勭悊绋嬪簭浠g爜 + CString s1; + s1.Format(_T("鏄剧ず鍔熻兘閿爮")); + SysLog(s1); + m_wndDlgBar_Func_Key.ShowWindow(SW_HIDE); + m_wndDlgBar_Func_Key.ShowWindow(SW_SHOW); + ShowControlBar(&m_wndDlgBar_Func_Key, TRUE, FALSE); + } void CMainFrame::OnUpdateViewFunckeyBar(CCmdUI *pCmdUI) { // TODO: 鍦ㄦ娣诲姞鍛戒护鏇存柊鐢ㄦ埛鐣岄潰澶勭悊绋嬪簭浠g爜 + } @@ -285,6 +342,12 @@ void CMainFrame::OnViewNumkeyBar() { // TODO: 鍦ㄦ娣诲姞鍛戒护澶勭悊绋嬪簭浠g爜 + CString s1; + s1.Format(_T("鏄剧ず鏁板瓧閿爮")); + SysLog(s1); + m_wndTBar_Num_Key.ShowWindow(SW_HIDE); + m_wndTBar_Num_Key.ShowWindow(SW_SHOW); + } -- Gitblit v1.9.1