社区
界面
帖子详情
如何让一个按钮按下后不自动跳起来
taft
2004-10-08 01:15:45
我想实现一个按钮按下后就处于按下的状态,这样让一个过程运行,当按其他按钮的时候这个按钮就弹起来,如何实现呢?我利用Checkstate但当这个按钮失去焦点就自己弹起来了,怎么弄呢?谢谢
...全文
252
9
打赏
收藏
如何让一个按钮按下后不自动跳起来
我想实现一个按钮按下后就处于按下的状态,这样让一个过程运行,当按其他按钮的时候这个按钮就弹起来,如何实现呢?我利用Checkstate但当这个按钮失去焦点就自己弹起来了,怎么弄呢?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
asphp
2004-10-10
打赏
举报
回复
蹭分
kugou123
2004-10-09
打赏
举报
回复
同意楼上的重载方法。
OriesMap
2004-10-09
打赏
举报
回复
同意daymist(土狼)的子类重载的办法。
shenailin
2004-10-08
打赏
举报
回复
daymist(土狼)说"封装一个BUTTON 子类,然后呢重载DrawItem,在其中根据你设定的状态量进行自绘,多好"
如下
CDC *pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
CRect captionRect = lpDrawItemStruct->rcItem;
CRect rect = captionRect;
CBrush brush;
int nIconX, nIconY;
if (m_nState == SWITCHBUTTON_UP)
{
brush.CreateSolidBrush(::GetSysColor(COLOR_3DFACE));
pDC->FillRect(&rect, &brush);
pDC->Draw3dRect(&rect, ::GetSysColor(COLOR_3DHIGHLIGHT), ::GetSysColor(COLOR_3DDKSHADOW));
rect.DeflateRect(1, 1);
pDC->Draw3dRect(&rect, ::GetSysColor(COLOR_3DLIGHT), ::GetSysColor(COLOR_3DSHADOW));
nIconX = 0;
nIconY = 0;
}
else if (m_nState == SWITCHBUTTON_DOWN)
{
brush.CreateSolidBrush(::GetSysColor(COLOR_3DFACE));
pDC->FillRect(&rect, &brush);
pDC->Draw3dRect(&rect, ::GetSysColor(COLOR_3DDKSHADOW), ::GetSysColor(COLOR_3DHIGHLIGHT));
rect.DeflateRect(1,1);
pDC->Draw3dRect(&rect, ::GetSysColor(COLOR_3DSHADOW), ::GetSysColor(COLOR_3DLIGHT));
// make it look pressed
rect.top += 1;
// icontop += 1;
nIconX = 1;
nIconY = 1;
}
else if (m_nState == SWITCHBUTTON_SELECTED)
{
brush.CreateSolidBrush(::GetSysColor(COLOR_3DLIGHT));
pDC->FillRect(&rect, &brush);
pDC->Draw3dRect(&rect, ::GetSysColor(COLOR_3DDKSHADOW), ::GetSysColor(COLOR_3DHIGHLIGHT));
rect.DeflateRect(1,1);
pDC->Draw3dRect(&rect, ::GetSysColor(COLOR_3DSHADOW), ::GetSysColor(COLOR_3DLIGHT));
// make it look pressed
rect.top+= 1;
// icontop += 1;
nIconX = 0;
nIconY = 1;
}
brush.DeleteObject();
if(hIconIn != NULL)
pDC->DrawIcon( nIconX, nIconY, hIconIn );
// Read the button's title
CString sTitle;
GetWindowText(sTitle);
int nOldMode = pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor( RGB(255,0,0) );
int nHeighyt = pDC->DrawText(sTitle, -1, captionRect, DT_WORDBREAK | DT_CENTER | DT_CALCRECT);
pDC->SetBkMode( nOldMode );
//pDC->SelectObject(pOldPen);
ReleaseDC(pDC);
daymist
2004-10-08
打赏
举报
回复
封装一个BUTTON 子类,然后呢重载DrawItem,在其中根据你设定的状态量进行自绘,多好
SetpByStep
2004-10-08
打赏
举报
回复
CButton myButton;
// Create an auto 3-state button.
myButton.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_AUTO3STATE,
CRect(10,10,100,30), pParentWnd, 1);
// Set the check state to indeterminate.
myButton.SetCheck( BST_INDETERMINATE );
flyelf
2004-10-08
打赏
举报
回复
SetCheck
woodywjl
2004-10-08
打赏
举报
回复
你可以用代码设置
pButton->SetState(1);是按下
pButton->SetState(0);是没有按下
不过,还是楼上的方法比较好,因为我说的这个有一些缺点
不过,楼上的好像也并非完美
lixiaosan
2004-10-08
打赏
举报
回复
放一个checkbox到界面上,设置其风格为push_like
LabVIEW
按钮
延时
自动
弹起
要求
按钮
被
按下
后,一定时间后
自动
弹起。 问题分析: 1、采用事件结构,记录
按钮
按下
的时间; 2、只有当
按钮
按下
时,才开始计时; 3、计时结束后,弹起
按钮
,并初始化计时器; 程序说明: 1、利用移位寄存器记录...
C#:如何让WinForm中
按钮
自动
无限次
按下
去(用三种方法解决)
今天下午闲来无事,点开了我的
一个
C#项目文件,因为我的项目中就需要实现
按钮
在一段时间内实现
自动
按下
,想了想解决办法,最后用
一个
小程序来进行实现,把解决办法分享给大家. 首先,我这段程序想实现的就是
一个
事情...
python点击
按钮
后
跳
到另
一个
页面_js点击button
按钮
跳
转到另
一个
新页面
我们在网站制作中可能是需要的,因为有时我们需要做这样的效果,尤其是将
按钮
做成
一个
图片,而点击图片要
跳
转到新的页面时,怎么做到呢?这样的效果可以:onclick="window.location='新页面'" 来实现。1.在原来的...
点击链接
按钮
后页面总是
自动
滚动至顶部的解决方法
最近在开发
一个
小web的时候想给
一个
按钮
增加
一个
弹出dialog功能,但是发现点击
按钮
后页面总是
自动
滚动至顶部,这点从用户体验上来讲是极其不爽的,于是开始
跳
进google大池寻求解决办法。网上的办法有很多,但是唯独...
Html设置
按钮
只能点击一次,JavaScript如何实现,点击
按钮
一次之后
按钮
禁用?
点圈调直年情,量的单框来离理这接法清都的为击
按钮
一次之后
按钮
禁用的3种需朋朋支带不新器功几的事上为做的和时意后方法如下:1件览客需和下于有快都业视的事一房望站是有、首先第一种是用unbind()这个方抖要支圈者...
界面
15,978
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章