- 1、本文档共82页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章设计用户界面v2资料
6.显示鼠标移动位置信息(View类) (1) 在My_ResView.cpp文件前面加入代码为: #include MainFrm.h (2) 在CMy_ResView类中响应WM_MOUSEMOVE: void CMy_ResView::OnMouseMove(UINT nFlags, CPoint point) { CMainFrame *pm=(CMainFrame *)AfxGetMainWnd(); //从视图类中获得主帧窗口类指针 CStatusBar *psb=pm-m_wndStatusBar; CString str; if(psb) { str.Format(x=%d,y=%d,point.x,point.y); psb-SetPaneText(0,str); } CView::OnMouseMove(nFlags, point); } 用于设置给定索引值的指示器的文本 MFC类中获得其它类指针 1.从视图类获得文档类的指针 CTextDoc *pDoc=(CTestDoc*)GetDocument(); 2.从文档类取得视图类的指针 CDocument类提供了两个函数用于视图类的定位:GetFirstViewPosition()和GetNextView() 3. 从主帧窗口类获得视图类指针 CFrameWnd::GetActiveView() 4.从视图类中获得主帧窗口类指针 CWnd::GetParentFrame()或AfxGetMainWnd(); MFC类中获得其它类指针(2) 5.在任何类中获得应用程序类 用MFC全局函数AfxGetApp() 6.从应用程序类中获得主帧窗口类 m_pMainWnd成员(CWinThread类的数据成员,派生关系:CWinThread -CWinApp -应用程序类) 注意: A.在类A中获得类B的指针时,类A应包含类B的头文件。 B.在很多时候要进行强制类型转换,并要注意括号的括法。 由于派生类和父类指针类型的兼容,使明确区分各个类变得十分重要。在拿不准的时候,最好加上强制类型转换。 12.6 通用对话框 在Windows系统中提供了一些通用对话框,如:文件选择对话框、颜色选择对话框、字体选择对话框。 在MFC中使用CFileDialog,CColorDialog,CFontDialog来表示。 使用时一般不需要派生新的类,因为基类已经提供了常用的功能。 在创建并等待对话框结束后可以通过成员函数得到用户在对话框中的选择。 1. CColorDialog CColorDialog类的使用过程: (1) 构造CColorDialog类对象。 (2) 设置或修改对象的数据成员m_cc,以便初始化对话框中控件的值,m_cc的结构类型为CHOOSECOLOR。 (3) 调用成员函数DoModal显示对话框并让用户从中选择颜色。如果选择“OK”按钮,则DoModal返回IDOK;如果选择“Cancel”按钮,则DoModal返回IDCANCEL,取消用户输入。 CColorDialog (4) 如果 DoModal返回的是 IDOK,系统将用户输入信息保存在数据成员m_cc中,使用以下CColorDialog的成员函数可以获取用户的输入信息: GetColor:返回包含选择颜色值的COLORREF结构; GetCurrentColor:设置当前选择颜色为参数指定的颜色; GetSavedCustomColors:获取用户创建的定制颜色; GetStyleName:得到选择字体的风格名字; OnColorOk:验证输入到对话框中的颜色,可以在派生的子类中覆盖此函数。 CColorDialog 增加菜单项“其他…”,设置属性 添加消息响应函数 Hello World! ID_COLOR_RED ID_COLOR _GREEN ID_ COLOR_BLUE ID_ COLOR_OTHER ID_OPER_SHOW 属性选择Pop-up CColorDialog void CMy_ResView::OnColorOther () { CColorDialog OtherColor; // 创建颜色对话框 if(OtherColor.DoModal() == IDOK) // 如果用户点击OK按钮 { m_nColor=OtherColor.GetColor(); // 更改颜色 Invalidate(); // 强制重绘刷新窗口 } } 2. CFontDia
文档评论(0)