- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
虚似键盘控件
HYPERLINK mailto:lbird@?subject=关于虚似键盘控件 郑恒
控件效果图如下:
HYPERLINK \l _简介 简介
HYPERLINK \l _控件的方法和属性: 控件的方法和属性
HYPERLINK \l _自定义键盘按钮 自定义键盘按钮
HYPERLINK \l _如何在你的程序中使用虚似键盘控件: 如何在你的程序中使用虚似键盘控件
简介
虚似键盘控件,自动化对象。
控件文件:VirKeyBd.dll
需要注册:是
版本:1.00
控件的方法和属性:
HRESULT Create([in] ULONG uStyle, [in] LONG x, [in] LONG y, [in] LONG hWndEdit);
创建虚似键盘的方法。
参数:uStyle 是虚似键盘的风格,目前只有三种风格:
#define VKBS_DEFAULT 0x0 // 默认风格,3D效果,按钮间没有间隙
#define VKBS_CUSTOM 0x2 // 自定义界面,必须实现IdrawKeyBoard
// 并调用SetCustomButton()设置接口
#define VKBS_HASSPACE 0x4 // 按钮间有空隙
#define VKBS_FLOAT 0x8 // 平面效果
因为我没有把头文件给大家,所以这个宏大家要自已加在头文件,或者直接传值就行了。
参数 x , y 表示虚似键盘的左上角屏幕坐标,创建时不指定虚似键盘显示的位置也可以
一般在Show方法中设置;
参数hWndEdit 是要接受密码的EDIT窗口句柄,当然一般的EDIT也。理论上,只要
有处理WM_CHAR消息的控件都可以,比如组合框。
返回值:S_OK 创建成功
E_FAIL 创建失败
HRESULT Show([in] VARIANT_BOOL bShow, [in] LONG x, [in] LONG y )
显示或隐藏虚似键盘。
参数:
bShow 显示或隐藏,为VARIANT_TRUE表示要显示,
为VARIANT_FALSE表示隐藏
x , y 显示控件时的位置,为控件左上角的屏幕坐标,如果bShow=VARIANT_FALSE
时,这两个参数被忽略。
HRESULT Destroy(void)
销毁控件窗口
HRESULT CustomButton(IUnknown *pDrawButton)
自定义按钮效果,在创建控件时必需具有VKBS_CUSTOM风格
参数:pDrawButton 由客户实现的IDrawKeyButton接口,实现按钮的自定义。
关于IDrawKeyButton接口可以参考HYPERLINK \l _自定义键盘按钮自定义键盘按钮。
返回值:
S_OK
E_FAIL
HRESULT IsShow(void)
控件是否显示。
返回值:
S_OK 显示
S_FALSE 隐藏
还有三个属性,均可设置和获取:
1、ButtonTextColor 按钮文本颜色
2、BackColor 背景颜色
控件需要具有VKBS_HASSPACE风格该属性才有效!
3、FrameColor 框架颜色
控件需要具有VKBS_FLOAT风格该属性才有效!
自定义键盘按钮
创建时,指定VKBS_CUSTOM风格
实现IDrawKeyButton接口,该接口只有一个方法
HRESULT DrawButton([in] LONG hdc ,[in] LONG x ,[in] LONG y ,[in] LONG cx ,[in] LONG cy , [in] ULONG uState )
参数:hdc DC设备上下文
x,y,,cx,cy 指定按钮的位置和大小
uState 指定按钮当前的状态,有以下几种状态
#define KBSS_NORMAL 0x0 // 正常效果
#define KBSS_PRESS 0x1 // Button is pushed
#define KBSS_CHECKED 0x2 // Button is checked
#define KBSS_HOT 0x4 // 鼠标悬浮;
3、调用CustomButton设置自定义按钮接口指针
如何在你的程序中使用虚似键盘控件:
0、用regsvr32命令注册控件,并在程序适当地方调用CoInitialize和CoUninitialize
1、为导入控件类型库信息在头文件中加入:
#import path\virkeybd.dll raw_interfaces_only , no_namespace , named
原创力文档


文档评论(0)