Objectarx MFC 添加ListControl并控制显隐

最主要的是实现一个Button点击将下方的List显示出来,制作成抽屉式菜单工具。
这篇文章是想实现点击工具栏并控制List的显隐。

参照:

MFC中实现一个控件的隐藏和显示
【MFC】判断控件是否为隐藏状态


MFC中查找构件使用ID进行控制,这个和WPF,WinForm的name一样,通过获取这个构件进行操作。控制显隐的接口是:ShowWindow(TRUE),获取构件状态的接口是:int bVisible = ((CWnd*)GetDlgItem(IDC_LIST1))->GetStyle() & WS_VISIBLE;


主要代码:

  1. 在初始化的时候,将List修改为隐藏
//-----------------------------------------------------------------------------
void CMenuBarChildDlg::DoDataExchange (CDataExchange *pDX) {
    
    
	CAcUiDialog::DoDataExchange(pDX);
	//{
    
    {AFX_DATA_MAP(CMenuBarChildDlg)
	//}}AFX_DATA_MAP
	//在此处增加项目初始化
	CEdit* edit = (CEdit*)GetDlgItem(IDC_LIST1);
	edit->ShowWindow(FALSE);

	DDX_Control(pDX, IDC_LIST1, m_list);
}

  1. 在点击按钮的时候将指定的List显示出来
void CMenuBarChildDlg::OnBnClickedButton1()
{
    
    
	// TODO: 在此添加控件通知处理程序代码

	CEdit* edit = (CEdit*)GetDlgItem(IDC_LIST1);
	int bVisible = ((CWnd*)GetDlgItem(IDC_LIST1))->GetStyle() & WS_VISIBLE;

	if(bVisible == 0)
	{
    
    
		edit->ShowWindow(TRUE);
	}
	else
	{
    
    
		edit->ShowWindow(FALSE);
	}
}

猜你喜欢

转载自blog.csdn.net/qq_41059339/article/details/132432226