MFC怎么实现按钮保持在被选中状态?

我想做一个图片上这样的界面,按下导航按钮打开对应的子界面。遇到的问题是在子界面操作时上面的导航按钮就失去焦点变成普通状态了。怎么才能做成图片这样按下“立即修复”后“漏洞修... 我想做一个图片上这样的界面,按下导航按钮打开对应的子界面。
遇到的问题是在子界面操作时上面的导航按钮就失去焦点变成普通状态了。
怎么才能做成图片这样按下“立即修复”后“漏洞修复”还是保持在选中状态?
这是我的自绘按钮关于焦点的代码,怎么处理能让导航的几个按钮一定有一个是用m_bFocus图片的
CBitmap m_bNormal,m_bDown,m_bDisabled,m_bMask,m_bOver,m_bFocus;

if ((lpDrawItemStruct->itemState & ODS_FOCUS)&&(m_bFocus.m_hObject!=NULL)){
DrawBitmap(pDC,(HBITMAP)m_bFocus,r,m_DrawMode);
} else {
DrawBitmap(pDC,(HBITMAP)m_bNormal,r,m_DrawMode);
展开
 我来答
赵冰龙
推荐于2016-06-15 · TA获得超过117个赞
知道小有建树答主
回答量:80
采纳率:0%
帮助的人:82.5万
展开全部
给你说说原理:按下漏洞修复后,原来的那个图片就被替换成了现在的图片,所以你按下立即修复后,其实那个漏洞修复并没有焦点,焦点在立即修复上,但是你看到就好像漏洞修复也有焦点,这就是图片的原因。
你要实现这种效果,就做两个图片,操作时进行替换就可以了
wkr2005
推荐于2018-03-29 · TA获得超过279个赞
知道小有建树答主
回答量:434
采纳率:0%
帮助的人:308万
展开全部
试试添加update事件,增加一个变量用于控制导航上面选中的是哪个按钮,类型代码如下:
void CMainFrame::OnUpdateSelect(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
if (m_CurViewStyle == DISTINGVIEW || m_CurViewStyle == IMAGEWALLVIEW)
{
pCmdUI->Enable(FALSE);
}
else
{
if (1 == theApp.getCurView()->getBtnState())
{
pCmdUI->SetCheck(TRUE);
}
else
{
pCmdUI->SetCheck(FALSE);
}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ccfe1c6
2013-12-30 · TA获得超过113个赞
知道答主
回答量:44
采纳率:0%
帮助的人:44.9万
展开全部
360那个不是默认的按钮,而是自绘的一个控件(应该是directx ui做的)。你可以通过自绘按钮来实现,或者简单点,直接用选项卡代替按钮就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
暗流L
2013-12-30 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:176
采纳率:0%
帮助的人:51.3万
展开全部
人家那是图面兄弟
追问
按钮上面的图片我添加好了,求这几个按钮特殊处理的方法。
追答
那个只是图片  你鼠标移到那个区域的时候 那个区域就换图片 明白?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式