易截截图软件、单文件、免安装、纯绿色、仅160KB

用vb建立自已的Unicode控件 - VB / 基础类

vb自带的控件是Ansi控件。

用自定义控件CreateWindowExW,然后用SetWindowLongW 就可以了。

之前看msdn 或其他书上说用CreateWindowExW就行了,可自已一直不成功,不晓得问题出在那里。
今天突然想到把 设置子类化 过程 即SetWindowLong 改成 用SetWindowLongW ,成功了

没想到设置子类化窗口也要用版 SetWindowLongW 不然创建的控件会又变成asnsi版!!

大家有没有这方面的交流一下。
沙发自已占
这样处理wm_char消息简单多了^_^


反正全部使用W系列API就行了。。。

今天把vbAccelerator 的子类化Dll给改成了支持Unicode, 并用改的子类化dll把它的ComboBoxEx和OwnerDrawComboList控件也改成了支持汉字自动完成(原版只持英文的自动完成)。并且把OwnerDrawComboList改成了像Access 中的多列组合框,真是爽。

我现在是改的它的非汇编那个子类化dll,那位能把那个汇编的子类化dll给改一下,就更爽了。

好像问题的关键点在GSubclass.cls 的初始化过程。把它拉出来,然后根据自已要只类化的窗口 IsWindowUnicode 来初始化进SetWindowLongA还是SetWindowLongW以及CallWindowProcA还是CallWindowProcW 等。我先试一下再说。

不敢一个工程中同时用多种子类化库,才试过出问题

不过我已经改好了。没有任何问题。关键是子类化是要用IsWindowUnicode 判断子类化的窗口是Asin还是unicode.
如下:
Private Sub Class_Initialize()
  pInit nAddrSubclassA, 1
  pInit nAddrSubclassW, 2
End Sub

'iAorW 1:A 2:W
Private Sub pInit(nAddrSubclass As Long, iAorW As Long)
  'This is the subclasser code. The patches are wer


相关问答:

vb - VB / 基础类

数据库里有一个字段的内容是二进制,怎么才能把这个二进制读出来
使用字节流对象可以实现

例如现在数据库里有个字段的内容是0x504B03040A0000000800407F263C3B02465390000000820000000A0000006273CECACCE22E7478 ......

vb操作excel - VB / 基础类

问题:
现在Access数据库中有两张表TableA和TableB
TableA中有记录如下:
字段1(Name) 字段2(Num)
  A 3
  A 4
  B 6
  ... ......

vb WebBrowser 小问题,请教 - VB / 基础类

vb WebBrowser 小问题,请教:
WebBrowser里的网址跳转后,怎么取得跳转后的页面的URL地址

顶下顶下

引用
BeforeNavigate2
好像没有这个吧 vb6.0

BeforeNavigate2
这个可以有,呵呵。
......

VB调用EXCEL绘图,如何修改X轴坐标 - VB / 基础类

小弟用VB调EXCEL作图
objExlApp.Workbooks.Add
  objExlApp.Charts.Add
  objExlApp.ActiveChart.ChartType = xlLine
  objExlApp.ActiveChart.HasLegend = True
  objExlApp. ......

vb 内存溢出?? - VB / 基础类

系统在多台电脑上运行,就在其中一台电脑上产生”内存溢出“。
  每台电脑操作系统 配置都一样的。。请问是什么原因?
(1)用了设计不完善的控件,控件本身有问题,或者不恰当地使用了api函数。
(2)无限的 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号