- 1、本文档共143页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 设计用户界面 12.1 菜单和加速键 12.1.1 使用菜单 1.编辑菜单资源 编辑由AppWizard自动生成的菜单资源,进行如下操作: (1) 选择项目工作区的ResourceView标签,切换到资源视图。 (2) 选择菜单资源类型。 (3) 双击菜单资源IDR_MAINFRAME,将弹出菜单编辑窗口。 (4) 编辑当前菜单。 删除:要删除某个菜单项或弹出菜单,可用鼠标单击该菜单或用上下光标键来回选择,然后按Del键删除。 插入:如果插入新菜单项,可选定窗口中的空白菜单框后按回车。也可以在选择一个已有的菜单项时按Ins键,在该菜单项上方插入一个空白菜单项,然后双击该菜单项,将弹出Properties对话框,如图12-1所示。 调整:Visual Studio支持鼠标拖曳来调整菜单项位置。要调整菜单项位置,只需要 选中某菜单项并将其拖至适当位置即可。 各菜单项属性设置如下: ID Caption Prompt ID_TEST_HELLO Hello Say hello to you! ID_COLOR_RED Red The color is Red. ID_ COLOR_GREEN Green The color is Green ID_ COLOR_BLUE Blue The color is Blue 2.处理菜单项定义命令函数 操作如下: (1) 从View菜单中选择ClassWizard,Developer Studio将弹出MFC ClassWizard对话框,如图12-2所示。 (2) 选择Message Maps标签,在Class name下拉列表中选择CMainFrame类。 (3) 双击Member functions列表中的OnTestHello,编辑OnTestHello成员函数(同理可编辑OnColorRed、OnColorGreen和OnColorBlue函数)。 在OnTestHello成员函数体中加入语句如下: void CMainFrame::OnTestHello() { // TODO: Add your command handler code here AfxMessageBox(Hello!); } 另外,在CHelloView::OnDraw(CDC * pDC)加入代码如下: void CHelloView::OnDraw(CDC* pDC) { CHelloDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here pDc-TextOut(0,0,Hello!); } 下面再来编写OnColorRed、OnColorGreen和OnColorBlue三个函数。首先双击CMainFrame类名,在MainFrm.h中加入数据成员,如下所示: class CMainFrame : public CFrameWnd { // Attributes public: int m_nColor; enum{RED=0,GREEN=1,BLUE=3}; }; 加入数据成员后,还要对它进行初始化,初始化工作在CMainFrame()构造函数中完成。 CMainFrame::CMainFrame() { // TODO: add member initialization code here m_nColor=RED; } OnColorRed、OnColorGreen和OnColorBlue三个函数修改后的程序清单如下: void CMainFrame::OnColorRed() { // TODO: Add your command handler code here m_nColor=RED; AfxMessageBox(The color is Red.); } void CMainFrame::OnColorGreen() { // TODO: Add your command handler code here m_nColor=GREEN; AfxMessageBox(The color is Green.); } void CMainFrame::OnColorBlue() { // TODO: Add your command handler code here m_nColor=B
文档评论(0)