VC6.0实现鼠标光标形状及大小的定制

本文介绍用VC开发Windows应用程序时,定制窗口鼠标光标的方法。分四步:手工编辑Cursor、定义Cursor变量、加载Cursor变量、控制Cursor行为。详细说明了各步骤操作,如加载变量可使用多种方法,控制行为通过OnSetCursor函数实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用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);也可以加入一些复杂的逻辑,比如在一定的区域内显示个性化光标,在其它区域显示标准光标,当然这就因实际需要而定了。

转载于:https://www.cnblogs.com/GaoJunTao/archive/2005/10/12/253178.html

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在 IT 领域,文档格式转换是常见需求,尤其在处理多种文件类型时。本文将聚焦于利用 Java 技术栈,尤其是 Apache POI 和 iTextPDF 库,实现 doc、xls(涵盖 Excel 2003 及 Excel 2007+)以及 txt、图片等格式文件向 PDF 的转换,并实现在线浏览功能。 先从 Apache POI 说起,它是一个强大的 Java 库,专注于处理 Microsoft Office 格式文件,比如 doc 和 xls。Apache POI 提供了 HSSF 和 XSSF 两个 API,其中 HSSF 用于读写老版本的 BIFF8 格式(Excel 97-2003),XSSF 则针对新的 XML 格式(Excel 2007+)。这两个 API 均具备读取和写入工作表、单元格、公式、样式等功能。读取 Excel 文件时,可通过创建 HSSFWorkbook 或 XSSFWorkbook 对象来打开相应格式的文件,进而遍历工作簿中的每个 Sheet,获取行和列数据。写入 Excel 文件时,创建新的 Workbook 对象,添加 Sheet、Row 和 Cell,即可构建新 Excel 文件。 再看 iTextPDF,它是一个用于生成和修改 PDF 文档的 Java 库,拥有丰富的 API。创建 PDF 文档时,借助 Document 对象,可定义页面尺寸、边距等属性来定制 PDF 外观。添加内容方面,可使用 Paragraph、List、Table 等元素将文本、列表和表格加入 PDF,图片可通过 Image 类加载插入。iTextPDF 支持多种字体和样式,可设置文本颜色、大小、样式等。此外,iTextPDF 的 TextRenderer 类能将 HTML、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值