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修改为隐藏
cpp 复制代码
//-----------------------------------------------------------------------------
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显示出来
cpp 复制代码
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);
	}
}
相关推荐
xlq223222 分钟前
全面复习2
c++
无名猿3 分钟前
移动构造与移动赋值:把资源偷过来
c++·性能优化·内存管理·现代c++·语法基础
All for pursuit.1 小时前
【回溯-7】494.目标和
数据结构·c++·算法·leetcode
白杨尚青1 小时前
C++入门篇(十三):vector(上)——动态数组:构造、空间增长与迭代器失效
开发语言·c++·笔记·算法·stl
(Charon)2 小时前
【C++面试】RAII到底是什么:从资源管理理解C++对象生命周期
c++·算法·面试
无名猿2 小时前
成员初始化列表与初始化顺序陷阱:按声明顺序,不是书写顺序
c++·现代c++·语法基础
91刘仁德2 小时前
传输层协议深度拆解:端口寻址、UDP 报文与 TCP 可靠性机制全解析
linux·网络·c++·网络协议·tcp/ip·udp·c
Liuchang09112 小时前
洛谷 P2670 [NOIP 2015 普及组] 扫雷游戏
c++·算法·游戏
顶点多余3 小时前
C/C++常见面试题
开发语言·c++
HugoStudio_SWAN3 小时前
洛谷 B4575 [GESP202609 二级] 直角三角形——临场定义理解与边界质疑
c++·学习·程序人生·算法