欢迎来到天天文库
浏览记录
ID:2018714
大小:63.50 KB
页数:12页
时间:2017-11-14
《mfc框体添加菜单栏工具栏状态栏》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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,封装了ToolbarControl控件的相关信息,API等。CToolBar——父类CControlBar,封装了ToolBar和
2、CFrameWnd之间的关系。2.1创建工具栏 CToolBar::Create/Ex2.2加载工具栏2.3工具栏的停靠 CToolBar::EnableDocking设置工具栏允许停靠;CFrameWnd::EnableDocking设置窗口允许被停靠;CFrameWnd::DockControlBar设置停靠位置。2.4命令处理2.5工具栏的显示与隐藏 CFrameWnd::ShowControlBar2.6信息提示 增加风格CBRS_TOOLTIPS;设置提示信息。状态栏状态栏相关类CStatusBarCtrl——父类是CWnd,封装了StatusBars的相
3、关信息,API等。CStatusBar——父类CControlBar,封装了状态栏和窗口之间的关系。3.1创建状态栏 CStatusBar::Create/Ex3.2设置状态栏指示器CStatusBar::SetIndicators3.3设置或获取状态栏信息CStatusBar::SetPaneText,CStatusBar::GetPaneText实例[cpp]#include"stdafx.h" #include"Resource.h" UINTg_nIndicators[]= { 0, IDS_TIME, ID_INDICATOR_CAPS
4、, ID_INDICATOR_NUM, ID_INDICATOR_SCRL }; classCMainFrame:publicCFrameWnd { public: DECLARE_MESSAGE_MAP() afx_msgintOnCreate(LPCREATESTRUCTlpCreateStruct);//菜单栏,工具栏,状态栏创建与加载 //菜单栏消息处理函数 afx_msgvoidOnExit(); afx_msgvoidOnOpen(); afx_msgvoidOnUpdateUIOpen(CCmdUI*pC
5、mdUI); //工具栏消息处理函数 afx_msgvoidOnViewStandard(); afx_msgvoidOnUpdateUIStandard(CCmdUI*pCmdUI); //状态栏消息处理函数 afx_msgvoidOnTimer(UINTnIDEvent); afx_msgvoidOnMouseMove(UINTnFlags,CPointpoint); private: CToolBarmWndToolBar; CStatusBarmWndStatusBar; }; BEGIN_MESSAGE_M
6、AP(CMainFrame,CFrameWnd) ON_WM_CREATE() ON_COMMAND(ID_OPEN,OnOpen) ON_COMMAND(ID_EXIT,OnExit) ON_UPDATE_COMMAND_UI(ID_OPEN,OnUpdateUIOpen) ON_COMMAND(ID_VIEW_STANDARD,OnViewStandard) ON_UPDATE_COMMAND_UI(ID_VIEW_STANDARD,OnUpdateUIStandard) ON_WM_TIMER() ON_WM_MOUSEMOVE() END_MESSAGE_MAP
7、() intCMainFrame::OnCreate(LPCREATESTRUCTlpCreateStruct) { //添加菜单 CMenumenu; menu.LoadMenuW(IDR_MAINFRAME);//加载菜单资源 SetMenu(&menu);//将菜单设置到窗口 menu.Detach();//将菜单句柄与菜单对象分离 //添加工具栏 mWndToolBar.CreateEx(this,TBSTATE_CHECKED,WS_CHILD
8、WS_VISIBLE
9、CBR
此文档下载收益归作者所有