您的位置:首页 > 其它

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

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

       这要是在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.csdn.net/wujunokay/article/details/12676493
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: