画出的窗口, 上面放出完全画出的button. 就是一个rect.

chinarendotcom 2005-04-17 10:25:52
问一下:
在onlbuttondown的时候, 判断一下是不是在button的矩形区域内, 如果在就改变那个button区域的背景, 这样能实现button的效果吗.
为什么在区域中点了一下, 没有实现区域的背景变化.

...全文
127 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinarendotcom 2005-05-08
  • 打赏
  • 举报
回复
区域无效, 才行.
jerry 2005-04-18
  • 打赏
  • 举报
回复
CPaintDC dc(this);

dc.DrawFrameControl(m_rcButton,
DFC_BUTTON , // 画按钮
DFCS_PUSHED); // 按下状

dsclub 2005-04-18
  • 打赏
  • 举报
回复
使用双缓冲绘图没那么困难吧?
chinarendotcom 2005-04-17
  • 打赏
  • 举报
回复
我是想要用sdk的方法, 同时不用windows的button, 只是像画出这个rect, 同时实现button的效果.

目标是画一个button.
在主循环中每50ms, 得到dc画一下背景和button的rect, 我点击这个区域的时候, 希望能改变button的rect, 就是在bitblt的时候换了一个图片, 但是我点击的时候没有效果.
sinall 2005-04-17
  • 打赏
  • 举报
回复
http://www.vckbase.com/document/finddoc.asp?keyword=button

CBitmapButton
应该可以满足你的需求。
daymist 2005-04-17
  • 打赏
  • 举报
回复
这样的按钮效果当然能实现,你可以子类化一个CBUTTON的子类,然后在你的子类中继承ONLBUTTONDOWN函数,在这个函数中设置状态变量,然后INVALIDATE这个按钮,在你的子类化的按钮类中要重载ONDRAW,在ONDRAW中根据不同的状态变量进行绘制。呵呵
Practise_Think 2005-04-17
  • 打赏
  • 举报
回复
这里应该用这个BUTTON的DC来改变BUTTON的背景,而不是用这个BUTTON的PARENT的DC
h39394 2005-04-17
  • 打赏
  • 举报
回复
用CDC直接绘制按钮的方法我试过,思路没有问题,使用图片作为背景我没有试过

“点击的时候没有效果”
原因一:没有成功换图片
原因二:没有更新显示

当然可能还有其它更复杂的原因,你慢慢摸索吧~

另外,你使用定时器来更新显示不太好吧,Windows的WM_PAINT消息难度不能满足你重绘的要求吗?
chinarendotcom 2005-04-17
  • 打赏
  • 举报
回复
up

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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