热情软件屋

 

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控件"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio