mfc启动隐藏某个组件,键盘事件显示组件
mfc启动隐藏某个组件
1,打开mfc窗口设计界面选中某个控件设置其属性不可见为false启动是就可以看不见该组件了。
键盘事件显示组件
在MFC界面设计中,经常需要隐藏一些控件,显示另一些控件。这时,可以调用以下函数来实现(m_ctrl为该控件的实例化对象):
以下是我工作中使用的一些代码:
else if ( pMsg->wParam == VK_F5 )
{
m_bShowGU = !m_bShowGU;
GetDlgItem(IDC_STATIC_GU)->ShowWindow(m_bShowGU);
GetDlgItem(IDC_STATIC_GUPATH)->ShowWindow(m_bShowGU);
GetDlgItem(IDC_STATIC_PATH)->ShowWindow(m_bShowGU);
GetDlgItem(IDC_BUTTON_OPEN)->ShowWindow(m_bShowGU);
GetDlgItem(IDC_BUTTON_PATH)->ShowWindow(m_bShowGU);
m_ctrl.ShowWindow(FALSE);//隐藏该控件
m_ctrl.ShowWindow(TRUE); //显示该控件
第一、先获得控件对象。这里用一个EditBox控件为例。
CEdit *edit = (CEdit*)GetDlgItem(IDC_EDIT_XXXX);
其中,IDC_EDIT_XXXX是EditBox的ID,每个控件应该设一个不同且容易辨别的ID。
第二、调用ShowWindow()函数。
edit->ShowWindow(FALSE); //隐藏该控件
edit->ShowWindow(TRUE)://显示该控件
另外,还可以利用EnableWindow()函数控制控件的可用与否,但必须要在控件显示了前提下才有效:
edit->EnableWindow(FALSE);//控件不可用,其颜色变成灰色
edit->EnableWindow(TRUE); //控件可用,其颜色正常