为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

[新版]mfc更改鼠标光标

2017-10-15 3页 doc 13KB 26阅读

用户头像

is_614050

暂无简介

举报
[新版]mfc更改鼠标光标[新版]mfc更改鼠标光标 用VC开发的Windows应用程序时,可以分四步对窗口上的鼠标光标进行定制,手工编辑Cursor、定义Cursor变量、加载Cursor变量、控制Cursor行为。每个步骤的详细说明如下: (1)手工编辑Cursor。在资源编辑器里增加一个Cursor,VC会自动给它分配一个ID(比如:IDC_CURSOR1),然后手工编辑Cursor的形状,编辑好后保存一下。你会看到Cursor的属性框中,有一个File name项里标明了该Cursor资源的文件路径(res\cursor1.cur) (2...
[新版]mfc更改鼠标光标
[新版]mfc更改鼠标光标 用VC开发的Windows应用程序时,可以分四步对窗口上的鼠标光标进行定制,手工编辑Cursor、定义Cursor变量、加载Cursor变量、控制Cursor行为。每个步骤的详细说明如下: (1)手工编辑Cursor。在资源编辑器里增加一个Cursor,VC会自动给它分配一个ID(比如:IDC_CURSOR1),然后手工编辑Cursor的形状,编辑好后保存一下。你会看到Cursor的属性框中,有一个File name项里标明了该Cursor资源的文件路径(res\cursor1.cur) (2)定义Cursor变量。定义一个HCURSOR类型的变量myCursor,存放Cursor对象。 HCURSOR myCursor; (3)加载Cursor变量。在你需要改变鼠标光标的函数里添加Cursor的加载代码,将定义好的Cursor资源加载到前面的Cursor变量里,如果想程序一开始就自动显示个性化定制的鼠标光标,则在初始化函数(如:对话框初始化函数OnInitDialog)里加载Cursor。VC加载Cursor的办法很多,可以用CWinApp::LoadCursor加载,也可以用Windows API中的LoadCursor加载。但这两种办法都只能改变Cursor的形状,不能改变大小。如果需要改变大小就只能用LoadImage,代码如下: myCursor=(HCURSOR)LoadImage(NULL,"res/cursor1.cur",IMAGE_CURSOR,72,32 ,LR_LOADFROMFILE ); 这是一个比较复杂的Windows API函数,有六个参数。可以向内存中加载位图、ICON和Cursor。函数原型如下 HANDLE LoadImage( HINSTANCE hinst, | LPCTSTR lpszName, UINT uType, int cxDesired, int cyDesired, UINT fuLoad ); 下面只解释与加载Cursor相关的参数用法: hinst:指向需加载该资源的module,(我还不太清楚module的确切函义,是一个程序,还是一个进程,还是一个库),不过一般可以将这个参数设为NUll。 lpszName:标识要加载的资源,如果fuLoad设为LR_LOADFROMFILE,则该参数为资源的文件名,如位图文件、ICON文件,当然也包括Cursor文件。 uType:指明加载的资源类型,它的值可以是IMAGE_BITMAP. 加载位图;IMAGE_CURSOR. 加载cursor;IMAGE_ICON. 加载ICON。 cxDesired,光标的宽度,值是以像素为单位的整数。 cyDesired ,光标的长度,值是以像素为单位的整数。 fuLoad,资源加载的方式,当值为LR_LOADFROMFILE时,指从文件加载。(4)控制Cursor行为。最终控制Cursor的行为要通过OnSetCursor函数来实现。用ClassWizard为你需要改变鼠标光标的窗口对象(CWin的子类),添加 OnSetCursor函数来处理窗口的ON_WM_SETCURSOR消息。程序运行时,只要鼠标进入到该窗口的区域,Windows就会给该窗口对象发送ON_WM_SETCURSOR消息,并触发你的OnSetCursor函数。所以可以在OnSetCursor函数中增加控制鼠标光标的逻辑,如可以简单的显示你的个性化光标SetCursor(myCursor);也可以加入一些复杂的逻辑,比如在一定的区域内显示个性化光标,在其它区域显示光标,当然这就因实际需要而定了。 关于另外一个更改光标的重要问题:鼠标的hotspot,也就是鼠标的作用点问题,本人关于这个问题纠结了很久,始终无法找到更改HCURSOR作用点的函数。后来终于在网上发现,其实在制作.cur格式的图片时就可以设置hotspot(热点)。这样就解决了光标大,而作用点在光标的左上角问题~(PS 制作.cur格式的图片可以用ArtCursor这个软件很好用)
/
本文档为【[新版]mfc更改鼠标光标】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索