关于按钮背景的问题

renhaibo321 2010-03-11 11:05:32
我想使用自己的位图作为按钮的背景,并且能够在按钮被按下和没被按下时切换图片,所以我用了CButtonST类,也实现了以上两个功能,但是,按钮的Caption显示不出来,请各位高手指教指教!
...全文
59 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanggezi 2010-03-11
  • 打赏
  • 举报
回复
是不是被图片挡住了??
cpp2017 2010-03-11
  • 打赏
  • 举报
回复
画完背景,取下windowtext,然后画出来。
zhou1xp 2010-03-11
  • 打赏
  • 举报
回复
在DrawItem中拷贝图片函数后加上
CStirng text;
GetWindowText(text);
SetBkMode(lpDIS->hDC, TRANSPARENT);
::DrawText(lpDIS->hDC,text, text.GetLength(), &rc, DT_CENTER|DT_VCENTER|DT_SINGLELINE);
要注意位置,我是加在BitBlt函数后
s446721902 2010-03-11
  • 打赏
  • 举报
回复
我貌似也遇到过类似的问题,我是这样解决的,仅供参考
buttonst类的PrepareImageRect函数里加一个case,

case ST_HORIZ_OVERLAP:
// 文字在图像上
rpImage->left = 0;
rpImage->top = 0;
rpTitle->left = 0;
rpTitle->top = 0;
break;

,要在他的枚举那边吧ST_HORIZ_OVERLAP,添加进去
buttonst类SetAlign函数里把这个case加进去
定义按钮时候
m_btn.SetAlign(CButtonST::ST_HORIZ_OVERLAP, FALSE);
renhaibo321 2010-03-11
  • 打赏
  • 举报
回复
对,是被图片挡住了,我不想用PS将caption做到图片上,不知该怎么做!

15,979

社区成员

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

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