MFC——实现界面元素的显示、隐藏和大小变化

       在界面开发中,有些元素在某些情况是不需要的,可以隐藏起来,在需要的时候显示,就像微云的那个上传界面,当需要修改的时候才显示出目录列表来?那这个如何来实现呢?

       这要是在android界面开发中,可能就比较容易了,当那个列表被设置成隐藏后,下面的极速上传按钮也就跟着显示上去了。但在MFC中,不行。要在代码里去主动的调用才行。

       首先分析下,要实现的要点:1.在点修改前后,界面的大小是变化了的,那就是界面的大小要改变?用函数MoveWindow可以实现这个效果;2.目录列表,其实用的是TreeCtrl,这个要隐藏和显示,用ShowWindow就可以实现了。

      下面看看如何来实现?

      首先是建一个工程。然后创建一个测试用的对话框,有两一个编辑框、一个按钮Button,就是TestBut和一个上传按钮。

然后在这个测试对话框里的OnInitDialog添加如下:

	m_EditPath.SetWindowText(_T("上传到: 网盘"));
	m_EditName.SetWindowText(m_strFileName);
	
	m_TreeCtrl.ShowWindow(SW_HIDE);
	m_ButtonUp.MoveWindow(300, 120, 60, 25);
	MoveWindow(0, 0, 400, 200);
	CenterWindow();

这样编译运行,就是没有显示树的效果。

要显示树的鲜果,就要在TestBut的按钮事件里添加:

	m_ButtonModify.ShowWindow(SW_HIDE);
	m_TreeCtrl.ShowWindow(SW_SHOW);
	MoveWindow(0, 0, 400, 300);
	m_ButtonUp.MoveWindow(300, 220, 60, 25);
	CenterWindow();

可以看到,这里的区域有变化,同时那个上传按钮的显示地方也有变化,因为这个时候树显示了,那就要相应的往下挪动了。


实际效果可以看微云啦。



转载请注明原创链接:http://blog.youkuaiyun.com/wujunokay/article/details/12676493







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值