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);
	}
}
相关推荐
yolo_guo22 分钟前
glog单行 30000 字节限制问题
c++
cccccc语言我来了43 分钟前
C++轻量级消息队列服务器
java·服务器·c++
闻缺陷则喜何志丹1 小时前
【背包 组合】P7552 [COCI 2020/2021 #6] Anagramistica|普及+
c++·算法·背包·洛谷·组合
xiaoye-duck1 小时前
【C++:C++11】C++11新特性深度解析:从类新功能、Lambda表达式到包装器实战
开发语言·c++·c++11
一个行走的民1 小时前
C++ Lambda 表达式语法详解
c++
小小码农Come on1 小时前
C++访问QML控件-----QML访问C++对象属性和方法
java·开发语言·c++
Yungoal2 小时前
项目层级结构
c++
程序员-King.2 小时前
【基础分析】—— 条件变量wait(lock, 谓词)
c++·c·多线程·条件变量
故事和你912 小时前
洛谷-算法1-7-搜索3
数据结构·c++·算法·leetcode·动态规划
网域小星球3 小时前
C++ 从 0 入门(四)|继承、多态、this 指针、深浅拷贝(C++ 面试终极收官)
开发语言·c++·面试·多态·继承·this指针·深浅拷贝