MFC怎么实现按钮保持在被选中状态?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
你要实现这种效果,就做两个图片,操作时进行替换就可以了 参考技术A 试试添加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);
参考技术B 360那个不是默认的按钮,而是自绘的一个控件(应该是directx ui做的)。你可以通过自绘按钮来实现,或者简单点,直接用选项卡代替按钮就行了。 参考技术C 人家那是图面兄弟追问
按钮上面的图片我添加好了,求这几个按钮特殊处理的方法。
追答那个只是图片 你鼠标移到那个区域的时候 那个区域就换图片 明白?
以上是关于MFC怎么实现按钮保持在被选中状态?的主要内容,如果未能解决你的问题,请参考以下文章