VB如何实现自绘控件
编号:QA003144
建立日期: 2000年7月10日 最后修改日期:2000年7月10日
所属类别:
超级电灯泡:
操作系统: win95,2in98,winnt
编程工具: vb5.0,vb6.0
问题: 虽然说vb对物主绘图这一方面很难做到,但事实上是有可能的,难就难在如何使系统能够自动产生drawitem的消息,菜单可能还好办,其它的控件就不知道如何下手了,我试过用getwindowlong和setwindowlong去修改combutton的bs_style,在subclass中不能截取到drawitem的消息,而且控件同时也变的有点不正常,请问各位大虾,有没有什么方法可以实现ownerdraw。
水平: 高手
回答:
VB很难编写自绘控件,如果要编写最好使用VC、Delphi。在VB中只有ListBox的Style属性设置为Check时,可以截获WM_DRAWITEM。对于命令按钮,不要使用WM_DRAWITEM的方法。你有两个选择:
一个是设置Style属性为图形,将你要绘制的效果绘制在一个看不到的PictureBox中,然后Command1.Picture= Picture1.Picture。参考QA001586 "如何将EXE中的图标显示在按钮上"!、@!QA003050
另一个是干脆不使用原来的按钮,从头编写,如QA001226 "如何设计一个外表轮廓不规则的ACTIVEX控件"。
此问题由李海回答。
| |
|
|
| |
|
|