mfc中怎样添加位图,就是用CreateCaret( )函数怎么用

 我来答
ahcc08
2014-04-06 · 知道合伙人软件行家
ahcc08
知道合伙人软件行家
采纳数:11853 获赞数:51940
拥有丰富的软件开发经验。

向TA提问 私信TA
展开全部
函数功能
该函数为系统插入标记创建一个新的形状,并且将插入标记的属主关系指定给特定的窗口。插入标记的形状。可以是线、块或位图。
函数原型:BOOL CreateCaret(HWND hWnd,HBITMAP hBitmap,int nWidth,int nHeight);
2参数
hWnd:指定拥有插入标记的窗口。
hBitmap:标识用于定义插入标记形状的位图。如果该参数为NULL,那么插入标记是实心的(原色),如果该参数为(HBITMAP)1,那么插入标记是灰色的。如果该参数是位图句柄,那么插入标记就是指定的位图。位图句柄必须已中由CreateBitmap、CreatDIBitmap或LoadBitmap函数创建。
如果hBitmap为位图句柄,那么CreateCaret函数将忽略参数nWidth和nHeight,因为该位图定义了自己的宽度和高度。
nWidth:按逻辑单位指定插入标记的宽度,如果该参数为零,那么宽度就设为系统定义的窗口边界宽度。如果hBitmap是位图句柄,那么函数CreateCaret忽略该参数。
nHeight:按逻辑单位指定插入标记的高度。如果该参数为零,那么高度就设为系统定义的窗口边界高度如果hBitmap是位图句柄,那么函数CreateCaret忽略该参数。
返回值:如果函数执行成功,返回值为非零;如果函数执行失败,那么返回值为零。若想获取更多错误 信息,请调用GetLastError函数。
备注:参数nWidth和nHeight指定了插入标记的宽度和高度,这些值按逻辑单位表示;按像素表示的真正 宽度和高度与窗口的映射模式有关。
CreateCaret函数自动清除前一个插入标记的形状,不考虑拥有该插入标记的窗口。新创建的插入标记一直隐藏,直到应用程序调用ShowCaret函数使该插入标记可见为止。
系统为每个队列提供一个插入标记。窗口只有在它有键盘焦点(focus)或者它是活动窗口时才创建插入标记。该窗口应在键盘焦点消失或窗口变为不活动之前,清除插入标记。
可以通过使用GetSystemMetrics函数,并指定SM_CXBORDER和SM_CYBORDER值来检索系统窗口边界的宽度或高度。使用窗口边界的宽度或高度可以保证插入标记在高分辨率屏幕上可见。
对于Windows CE:Windows CE不支持hBitmap参数,并且该参数应设为NULL。Windows CE缺省的是实心(Solid)插入标记。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。
追问
请问一下那个在哪找到这个函数或者在哪编写代码呢
匿名用户
2014-04-11
展开全部
首先在资源里导入 bmp 位图资源,或者自己添加一个位图资源,自己绘制,光标嘛,绘制成黑色就行
CBitmap bmp;
bmp.LoadBitmap(资源ID) ,加载资源
CreateCaret(&bmp); 就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式