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); 展开
遇到的问题是在子界面操作时上面的导航按钮就失去焦点变成普通状态了。
怎么才能做成图片这样按下“立即修复”后“漏洞修复”还是保持在选中状态?
这是我的自绘按钮关于焦点的代码,怎么处理能让导航的几个按钮一定有一个是用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); 展开
4个回答
展开全部
试试添加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);
}
}
}
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);
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
360那个不是默认的按钮,而是自绘的一个控件(应该是directx ui做的)。你可以通过自绘按钮来实现,或者简单点,直接用选项卡代替按钮就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
人家那是图面兄弟
追问
按钮上面的图片我添加好了,求这几个按钮特殊处理的方法。
追答
那个只是图片 你鼠标移到那个区域的时候 那个区域就换图片 明白?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询