MFC框体添加菜单栏工具栏状态栏.doc

上传人:汽*** 文档编号:544076183 上传时间:2023-02-16 格式:DOC 页数:12 大小:63.50KB
返回 下载 相关 举报
MFC框体添加菜单栏工具栏状态栏.doc_第1页
第1页 / 共12页
MFC框体添加菜单栏工具栏状态栏.doc_第2页
第2页 / 共12页
MFC框体添加菜单栏工具栏状态栏.doc_第3页
第3页 / 共12页
MFC框体添加菜单栏工具栏状态栏.doc_第4页
第4页 / 共12页
MFC框体添加菜单栏工具栏状态栏.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《MFC框体添加菜单栏工具栏状态栏.doc》由会员分享,可在线阅读,更多相关《MFC框体添加菜单栏工具栏状态栏.doc(12页珍藏版)》请在金锄头文库上搜索。

1、MFC框体添加菜单栏工具栏状态栏 菜单栏CMenu封装了菜单句柄和相关菜单API1.1添加资源1.2在CMainFrame:OnCreate函数中添加菜单;CMenu:Attach将菜单句柄附加到菜单对象中;CMenu:Detach将菜单句柄从菜单对象中分离1.3 命令相关 ON_COMMAND1.4 菜单项的状态 ON_UPDATE_COMMAND_UI CCmdUI类工具栏工具栏相关类CToolBarCtrl父类是CWnd,封装了Toolbar Control控件的相关信息,API等。CToolBar父类CControlBar,封装了ToolBar和CFrameWnd之间的关系。2.1创建

2、工具栏 CToolBar:Create/Ex2.2 加载工具栏2.3工具栏的停靠 CToolBar:EnableDocking设置工具栏允许停靠;CFrameWnd:EnableDocking设置窗口允许被停靠;CFrameWnd:DockControlBar设置停靠位置。2.4命令处理2.5工具栏的显示与隐藏 CFrameWnd:ShowControlBar2.6信息提示 增加风格 CBRS_TOOLTIPS;设置提示信息。状态栏状态栏相关类CStatusBarCtrl父类是CWnd,封装了StatusBars的相关信息,API等。CStatusBar父类CControlBar,封装了状态栏

3、和窗口之间的关系。3.1创建状态栏 CStatusBar:Create/Ex3.2设置状态栏指示器 CStatusBar:SetIndicators3.3设置或获取状态栏信息CStatusBar:SetPaneText,CStatusBar:GetPaneText实例cpp#include stdafx.h#include Resource.hUINT g_nIndicators= 0, IDS_TIME, ID_INDICATOR_CAPS, ID_INDICATOR_NUM, ID_INDICATOR_SCRL;class CMainFrame:public CFrameWndpublic

4、: DECLARE_MESSAGE_MAP() afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);/菜单栏,工具栏,状态栏创建与加载 /菜单栏消息处理函数 afx_msg void OnExit(); afx_msg void OnOpen(); afx_msg void OnUpdateUIOpen(CCmdUI* pCmdUI); /工具栏消息处理函数 afx_msg void OnViewStandard(); afx_msg void OnUpdateUIStandard(CCmdUI* pCmdUI); /状态栏消息处理函数 af

5、x_msg void OnTimer(UINT nIDEvent); afx_msg void OnMouseMove(UINT nFlags, CPoint point);private: CToolBar mWndToolBar; CStatusBar mWndStatusBar;BEGIN_MESSAGE_MAP(CMainFrame,CFrameWnd)ON_WM_CREATE()ON_COMMAND(ID_OPEN,OnOpen)ON_COMMAND(ID_EXIT,OnExit)ON_UPDATE_COMMAND_UI(ID_OPEN,OnUpdateUIOpen)ON_COMMA

6、ND(ID_VIEW_STANDARD,OnViewStandard)ON_UPDATE_COMMAND_UI(ID_VIEW_STANDARD,OnUpdateUIStandard)ON_WM_TIMER()ON_WM_MOUSEMOVE()END_MESSAGE_MAP()int CMainFrame:OnCreate(LPCREATESTRUCT lpCreateStruct) /添加菜单 CMenu menu; menu.LoadMenuW(IDR_MAINFRAME);/加载菜单资源 SetMenu(&menu);/将菜单设置到窗口 menu.Detach();/将菜单句柄与菜单对象

7、分离 /添加工具栏 mWndToolBar.CreateEx(this,TBSTATE_CHECKED,WS_CHILD|WS_VISIBLE|CBRS_ALIGN_ANY|CBRS_TOOLTIPS); mWndToolBar.LoadToolBar(IDR_MAINFRAME);/加载工具栏 /停靠工具栏 mWndToolBar.EnableDocking(CBRS_ALIGN_ANY);/1.设置工具栏允许停靠 EnableDocking(CBRS_ALIGN_ANY);/设置框架窗口允许被停靠 DockControlBar(&mWndToolBar,AFX_IDW_DOCKBAR_TO

8、P);/停靠工具栏操作 mWndToolBar.SetWindowTextW(L标准工具栏);/设置工具栏的标题 /创建状态栏 mWndStatusBar.CreateEx(this); mWndStatusBar.SetIndicators(g_nIndicators,sizeof(g_nIndicators)/sizeof(UINT);/设置指示灯 SetTimer(100,1000,NULL);/启动定时器 return 0;void CMainFrame:OnOpen() MessageBox(LOnOpen);void CMainFrame:OnExit() MessageBox(L

9、OnExit); /PostQuitMessage(0);void CMainFrame:OnUpdateUIOpen(CCmdUI* pCmdUI) pCmdUI-SetCheck(); pCmdUI-SetRadio(); pCmdUI-SetText(LOpen);void CMainFrame:OnViewStandard() if (mWndToolBar.IsWindowVisible() ShowControlBar(&mWndToolBar,FALSE,FALSE); else ShowControlBar(&mWndToolBar,TRUE,FALSE); void CMai

10、nFrame:OnUpdateUIStandard(CCmdUI* pCmdUI) pCmdUI-SetCheck(mWndToolBar.IsVisible();void CMainFrame:OnTimer(UINT nIDEvent) CTime t=CTime:GetCurrentTime(); CString strTime=t.Format(%Y-%m-%d %H:%M:%S); mWndStatusBar.SetPaneText(1,strTime);void CMainFrame:OnMouseMove(UINT nFlags, CPoint point) CString st

11、rPt; strPt.Format(L坐标:X=%d,Y=%d,point.x,point.y); mWndStatusBar.SetPaneText(0,strPt);class MFCMenu:public CWinApppublic: virtual BOOL InitInstance();BOOL MFCMenu:InitInstance() CMainFrame *pFrame=new CMainFrame; pFrame-Create(NULL,LMFCMenue); /pFrame-Create(NULL,LMFCToolbar,WS_OVERLAPPEDWINDOW,CFram

12、eWnd:rectDefault,NULL,MAKEINTRESOURCE(IDR_MAINFRAME); m_pMainWnd=pFrame; pFrame-ShowWindow(SW_SHOW); pFrame-UpdateWindow(); return TRUE;MFCMenu theApp;#include stdafx.h#include Resource.hUINT g_nIndicators=0,IDS_TIME,ID_INDICATOR_CAPS,ID_INDICATOR_NUM,ID_INDICATOR_SCRL;class CMainFrame:public CFrame

13、Wndpublic:DECLARE_MESSAGE_MAP()afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);/菜单栏,工具栏,状态栏创建与加载/菜单栏消息处理函数afx_msg void OnExit();afx_msg void OnOpen();afx_msg void OnUpdateUIOpen(CCmdUI* pCmdUI);/工具栏消息处理函数afx_msg void OnViewStandard();afx_msg void OnUpdateUIStandard(CCmdUI* pCmdUI);/状态栏消息处理函数afx_msg void OnTimer(UINT nIDEvent);afx_msg void OnMouseMove(UINT nFlags, CPoint point);private:CToolBar mWndToolBar;CStatusBar mWndStatusBar;BEGIN_MESSAGE_MAP(CMainFrame,CFrameWnd)ON_WM_CREATE()ON_COMMAND(ID_OPEN,OnOpen)ON_COMMAND

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号