急!在线等!关于自绘按钮?

hot_blood2001 2007-05-29 03:26:28
想实现这样的功能:程序运行的时候显示按钮A,鼠标经过时显示按钮B,鼠标离开后又显示按钮A,鼠标点击时显示按钮C(一直显示,即:鼠标离开后不变)

说明:按钮A,B,C是同意格按钮的三种状态,即:三张不同的按钮图片。
...全文
309 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovell1129 2007-05-30
  • 打赏
  • 举报
回复
onmousemove中判断rect.ptinrect(point),即鼠标移动的点在按钮范围内时,set按钮b的图片。
onlbuttondown中直接set按钮c的图片
chuachua11 2007-05-30
  • 打赏
  • 举报
回复
这样行不行,画3个Button在一个位置,initial的时候第一个Button设visible,其他两个设visible为false,写个判断鼠标位置的函数,point在button中设第2个visible,其他两个不显示,给第三个button关联函数Onbutton(),在Onbutton里设第3个visible,其他俩不显示。这样可以么。
hot_blood2001 2007-05-30
  • 打赏
  • 举报
回复
OnMouseOver函数在什么地方啊?
判断鼠标状态是什么意思啊?
鼠标的状态包括什么啊?
应该如何进行判断呢?
谢谢你!
kantonwang2007 2007-05-30
  • 打赏
  • 举报
回复
楼主可以找找这个类CButtonST v3.9 (MFC Flat buttons),可以做3个button,在同一个位置上,根据不同的情况,显示一个,隐藏另外2个
hot_blood2001 2007-05-30
  • 打赏
  • 举报
回复
有没有人有这样的按钮派生类啊?
我还是弄不出来啊
楼上的说的我明白,但是我的按钮不止是一个啊,是很多,所以那样的方法不合适啊。
changy 2007-05-29
  • 打赏
  • 举报
回复
BOOL bFlag=FALSE;//bFlag为假表示没在button上按下过鼠标
int nState=-1;//0,1,2对应离开,经过,选中
重载OnMouseOver() ,OnMouseMove(),OnLButtonDown(),OnLButtonUp()
在里面判断鼠标状态给nState赋值,在OnLButtonUp中还要bFlag=True;
重载OnPaint()
{
if(bFlag)
在里面判断nState的值,0,1,2分别贴上不同的图片
else
只贴2对应的图片(即离开后不变的那个)
}
hot_blood2001 2007-05-29
  • 打赏
  • 举报
回复
我也是这样做的啊,但是只知道选中状态,其他的状态不知道如何取得啊?
zengwenfu 2007-05-29
  • 打赏
  • 举报
回复
从CButton派生一个类。
重载DrawItem自绘,根据当前的状态(经过,选中,离开),选择绘制不同的图片。
hot_blood2001 2007-05-29
  • 打赏
  • 举报
回复
我就是不知道该怎么处理啊
能详细的说说吗?
万分感激!
wltg2001 2007-05-29
  • 打赏
  • 举报
回复
从CButton派生出一个子类来,自己处理消息吧,很方便的.
hot_blood2001 2007-05-29
  • 打赏
  • 举报
回复
还是没有什么思路啊?
高人指点指点啊!!
bqtiger 2007-05-29
  • 打赏
  • 举报
回复
http://www.cppblog.com/shaker/archive/2006/09/20/12730.aspx
wltg2001 2007-05-29
  • 打赏
  • 举报
回复
有点麻烦,简单的按钮贴图用CBitmapButton类就行了,不过你要求的可能要对按钮子类化才能完成.

16,473

社区成员

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

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

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