- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验五 菜单、工具栏、状态栏程序设计
【实验目的】
掌握主菜单程序设计方法
学会工具栏程序设计
掌握快捷菜单程序设计方法
学会增加状态栏窗格
【实验内容】
建立一个单文档应用程序,添加菜单显示,其中包含“文本”和“图形”2个菜单项,分别输出文本和图形。
参考代码:
void CSDIDispView::OnText()
{
// TODO: Add your command handler code here
CClientDC dc(this);
dc.TextOut(20,20,我已经学会了如何设计菜单程序!);
}
void CSDIDispView::OnPicture()
{
// TODO: Add your command handler code here
CClientDC dc(this);
CBrush *BrushOld,BrushNew;
BrushNew.CreateSolidBrush(RGB(255,0,0));
BrushOld=dc.SelectObject(BrushNew); //选用画刷
dc.Rectangle(50,50,250,150);
dc.SelectObject(BrushOld); //还原画刷
BrushNew.DeleteObject(); //释放画刷
}
为上述应用程序添加菜单控制功能,选中“文本”时,“图形”菜单项无效;当选中“图形”时,“文本”菜单项无效。
参考代码:
void CSDIDispView::OnText()
{
// TODO: Add your command handler code here
CClientDC dc(this);
dc.TextOut(20,20,我已经学会了如何设计菜单程序!);
m_picture=false;
}
void CSDIDispView::OnPicture()
{
// TODO: Add your command handler code here
CClientDC dc(this);
CBrush *BrushOld,BrushNew;
BrushNew.CreateSolidBrush(RGB(255,0,0));
BrushOld=dc.SelectObject(BrushNew); //选用画刷
dc.Rectangle(50,50,250,150);
dc.SelectObject(BrushOld); //还原画刷
BrushNew.DeleteObject(); //释放画刷
m_text=false;
}
void CSDIDispView::OnUpdateText(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI-Enable(m_text);
}
void CSDIDispView::OnUpdatePicture(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI-Enable(m_picture);
}
3、为上述应用程序工具栏添加两个工具按钮,单击第一个按钮,在视图窗口中弹出“打开文件”对话框,单击第二个按钮,在消息框中显示文本信息。
参考代码:
void CXiTi4_3View::OnText()
{
// TODO: Add your command handler code here
MessageBox(我已经学会了使用默认工具栏了!);
}
4、创建一个单文档应用程序,在状态栏中显示鼠标光标的坐标。
(1)在MainFrm.h中将状态栏对象修改为public
public:
CStatusBar m_wndStatusBar;
(2)在MainFrm.cpp中添加状态栏窗格ID_INDICATOR_COR
(3)在串表中设置添加窗格的字符串格式
(4)添加WM_MOUSEMOVE消息及其相应函数
void CXiTi4_4View::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CString str;
CMainFrame *pFrame=(CMainFrame*)AfxGetApp()-m_pMainWnd;
CStatusBar *pStatus=pFrame-m_wn
文档评论(0)