菜鸟的问题!

muduyang 2003-08-23 08:47:41
请教各位大侠: 我想做几个平滑按钮(按钮上加载自定义的ICON图标),就是鼠标移动上去会呈现凸起,按下去会有凹陷效果的那种。而当鼠标移走之后,按钮变成平滑的图标!在Resource里面添加几个Button,在Button的Style指定了Icon和Owner Draw风格!然后给Button关联CDrawButton(我自己新建的CButton类的派生类)类的控制变量,然后用SetIcon()加载Icon资源。编译没有错误,但是运行后就出错!后来我发现去掉Button的 Owner Draw风格后,程序可以正常运行! 但是却不是想要的平滑按钮的效果。这是什么原因哩?那么怎么样才能做出这样的按钮效果?请各位大侠指点一二。
说明一下,我在CDrawButton类里面已经重载了DrawItem()函数以及其他的一些处理鼠标移动,产生凸起凹陷效果的函数。但是我觉得这是后话,刚刚开始在OnInitDialog()函数里面添加SetIcon()初始化代码以后就应该产生平滑按钮吧?
请各位大侠指点一二,在此先谢谢大家了!
...全文
105 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanzai8848 2003-08-24
  • 打赏
  • 举报
回复
如果想知道实现原理就去研究一下
virtual void DrawItem( LPDRAWITEMSTRUCT lpDrawItemStruct );
函数,MSDN上很详细,而且有例子。

如果想写一个类,建议用zhouyong0371(小周周) 说的别人写好的类吧,
CButtonST就不错!省时,好用,功能强!
zhouyong0371 2003-08-24
  • 打赏
  • 举报
回复
直接到www.vckbase.com搜索CButtonST
会得到他的源代码和示例程序代码,看看吧,经典。
mintwlf 2003-08-24
  • 打赏
  • 举报
回复
仔细检查你使用的局柄、指针是否有为空的可能性!
强烈建议你使用CBitmapButton!
yuanl 2003-08-23
  • 打赏
  • 举报
回复
up
Healer 2003-08-23
  • 打赏
  • 举报
回复
要重载CButton里关于鼠标的几个函数,

MouseMove, 等等。。。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧