第13讲 鼠标消息响应和界面设计.pptVIP

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 设计应用程序界面元素 编写OnSetCursor函数,代码如下。 BOOL CMyTextOutView::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { // TODO: Add your message handler code here and/or call default CMyTextOutDoc* pDoc = GetDocument(); if(pDoc-m_nText_Flag == 1) ::SetCursor(AfxGetApp()-LoadCursor(IDC_CURSOR_TEXT)); return TRUE; //return CView::OnSetCursor(pWnd, nHitTest, message); } OnSetCursor函数是CWnd类的成员函数,其原型如下。 fx_msg BOOL OnSetCursor( CWnd* pWnd, UINT nHitTest, UINT message ); 如果鼠标输入没有被捕获并且鼠标使光标在CWnd对象内移动,则框架调用这个成员函数。当用户将鼠标指针移到视图客户区时,鼠标不被捕获,Windows发送一个WM_ SETCURSOR消息到视图类。 它传递的一个参数是窗口句柄pWnd,即鼠标指针所指的窗口,这里指的是视图窗口本身;OnSetCursor传递的第二个参数是nHitTest,这是一个鼠标点击测试代码,它以HTxxx开头,用于WM_NCHITTEST消息;OnSetCursor传递的第三个参数是触发事件的鼠标消息的ID,例如WM_MOUSEMOVE。WM_ SETCURSOR是专门用来设置鼠标指针的消息,当设置了鼠标指针以后,应该让它返回TRUE以防止Windows再作缺省处理。因此,本例中将调用父窗口的代码return CView::OnSetCursor(pWnd, nHitTest, message);注释掉,替换为return TRUE,这样才能够改变光标的形状。 SetCursor函数是API函数,故而使用全局访问符::来引导。该函数的功能是确定光标的形状。 函数原型如下。 HCURSOR SetCursor(HCURSOR hCursor); 其参数hCursor为光标的句柄,该光标由LoadCursor函数载入。如果该参数为NULL,则该光标从屏幕上移开。仅当新光标与前面的光标不同时,才设置新光标,否则,该函数立即返回。其返回值:如果有前一个光标,则返回值是前光标的句柄;如果没有前光标,则返回值是NULL。 * 设计应用程序界面元素 4.应用程序主窗口标题的修改 第一种方法:找到字符串资源中的IDR_MAINFRAME,将“MyTextOut\n\nMyText\n\n\nMyTextOut.Document\nMyText Document”替换为 “文本显示案例\n\nMyText\n\n\nMyTextOut.Document\nMyText Document”。 * 设计应用程序界面元素 第二种方法:在应用程序的CMyTextOutApp::InitInstance()函数中设置窗口标题。 BOOL CMyTextOutApp::InitInstance() { AfxEnableControlContainer(); …… m_pMainWnd-UpdateWindow(); m_pMainWnd-SetWindowText(文本显示案例); //设置标题栏 return TRUE; } CWnd类的成员函数SetWindowText()函数将窗口的标题设为指定的文本。如果窗口为一个控件,则将设置控件内的文本,同时使一条WM_SETTEXT消息被发送到这个窗口。函数原型如下。 void SetWindowText( LPCTSTR lpszString ); 其参数lpszString指向一个CString对象或以null结尾的字符串,将被用作新的标题或控件文本。 * 设计应用程序界面元素 5.应用程序主窗口图标的修改 在Windows中每个文件都有一个图标(icon)。应用程序的图标通常出现在程序标题栏的左上角、Windows桌面上、资源管理器的窗口中以及Windows底部的任务栏中。 一般情况下,应用程序采用MFC应用程序向导提供的默认图标。下面我们学习添加自己的图标。 (1)通过Insert|Resource命令插入Icon图标资源,使用图标资源编辑器编辑插入的图标IDI_MY_ICON。 * 设计应用程序界面元素 (2)

文档评论(0)

love + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档