如下两个问题
1、怎么样才能让按钮显示为自绘的形式?
我继承CButton类,写了自己的按钮类,在对话框上拖过去了一个按钮,在按钮的属性面板上改为ownerdraw,自己的按钮类重载drawitem,添加了绘制代码,但是对话框上的按钮什么都显示出来,当我给按钮添加一个自己按钮类类型的控件变量的时候,按钮才改成了我重绘的按钮,难道非得添加一个控件变量吗?2、我按照网上的方法,在自己的按钮类中重载了PreSubclassWindow函数,添加如下代码
ModifyStyle(0, BS_OWNERDRAW); 
为了会报错提示我BS_OWNERDRAW未定义?难道必须得在按钮的属性面板手动改吗?

解决方案 »

  1.   

    按钮可以看看CButtonSt这个网上类的
    1.你直接拖的类型是cbutton 的,建成员变量,把类型改了这样才可以转换成自己封装的类啊,或者就是不拖mfc本身的按钮,用你的类手工调用create出来创建。
    2.未定义 应该是少头文件把,BS_OWNERDRAW 在 winuser.h 里
      

  2.   

    正解!再给你个例子,参考VC知识库文章改了改,他用的是VC6,在VC2005中需要修正一下,附上代码http://pan.baidu.com/share/link?shareid=1657362729&uk=3375743845原作者的文章和代码链接http://www.vckbase.com/index.php/wv/355.html仅供参考
      

  3.   

    这与 资源编译器有关(rc.exe),他不认的, 你把 按钮 做成 用户控件(Custom Ctrl) 才行。