【VB6】【自定义内置控件】UnicodeTextBox.ctl
这是一个“内置控件”,无需携带OCX或DLL。只需把这个文件加入到你的VB工程里,即可像使用普通TextBox一样使用这个支持UNICODE的TextBox。它支持的属性仅有几个(Flat、Text、MultiLine),也不支持任何事件。但是提供了句柄,你可以通过子类化来实现截获事件。**** Hidden Message ***** 本帖最后由 系统消息 于 2022-6-1 12:43 编辑
怎么感觉不对劲呢?我记得好像是 UserControl_Initialize 里面不能使用 UserControl.hWnd 吧,比较这是这对象创建的时候执行的,这个时候控件都没创建。需要在 InitProperties 和 ReadProperties 这俩事件里面进行。 系统消息 发表于 2022-6-1 12:37
怎么感觉不对劲呢?我记得好像是 UserControl_Initialize 里面不能使用 UserControl.hWnd 吧,比较这是这对 ...
我去试了一下,没想到居然可以用,看来是我记错了,只有 Print、Ambient 和 Extender 才是不能在 UserControl_Initialize 中使用,hWnd 是可以使用的。
最神奇的是,在你使用了 hWnd 之后,Print 就开始可以用了(原理和Form类似,隐式自动Load),但 Ambient 和 Extender 还是不能用(只有等控件与调用者把父容器连接上了才可以,这种情况要在 UserControl_InitProperties 和 UserControl_ReadProperties 里面才可以)。 你这个竟然不支持事件!
VB6 里面声明事件的方法是在用户控件的开头(第一个过程或函数的前面)使用这样的语句:Public Event 事件名(参数列表)然后在应当触发事件的地方使用以下代码来触发事件:RaiseEvent 事件名(参数列表)举例:
该代码将 PictureBox 制作的“picItemList”的 Click 和 DblClick 事件包装为本控件自己的点击事件、双击事件。
类似的,KeyDown、KeyUp、MouseDown、MouseUp、MouseMove 等事件也可以像这样封装。 珍惜生命,果断回帖。 为什么不支持事件呢 学习一下 学习一下
XX 感谢分享!
终于不用为Unicode发愁了! 谢谢 看看这个text控件怎么样 來學習這個物件怎樣使用。
:( 感谢分享,回复学习! 感谢分享,学习学习
页:
[1]