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);
	}
}
相关推荐
郝学胜-神的一滴29 分钟前
使用Linux的read和write系统函数操作文件
linux·服务器·开发语言·数据库·c++·程序人生·软件工程
2301_803554521 小时前
C++联合体(Union)详解:与结构体的区别、联系与深度解析
java·c++·算法
pu_taoc1 小时前
深入剖析:基于epoll与主从Reactor模型的高性能服务器设计与实现
服务器·c语言·c++·vscode
初圣魔门首席弟子1 小时前
c++ bug 函数定义和声明不一致导致出bug
开发语言·c++·bug
bkspiderx2 小时前
C++设计模式之行为型模式:中介者模式(Mediator)
c++·设计模式·中介者模式
敢敢J的憨憨L2 小时前
GPTL(General Purpose Timing Library)使用教程
java·服务器·前端·c++·轻量级计时工具库
小欣加油2 小时前
leetcode 62 不同路径
c++·算法·leetcode·职场和发展
让我们一起加油好吗3 小时前
【C++】封装红黑树模拟实现 set 和 map
linux·c++·set·map·红黑树
hsjkdhs3 小时前
C++之类的继承与派生
开发语言·c++
冷徹 .3 小时前
2024ICPC区域赛香港站
数据结构·c++·算法