换肤效果
经过了前面四章的讲解,我们终于知道了如何拖拉窗体使之改变大小,也知道了如何处理鼠标事件,同时,也知道了如何利用更好的编写方式来编写一个方便实用和维护的换肤程序。下面请看换肤效果(首先声明,窗体样式和按钮样式均来自于CodeProject,本人美工太差):
支持效果:
- 窗体拖拉,可以任意拖动窗体:重写了自带的DragMove类,使得拖拉和Resize不冲突。
- 窗体大小改变:通过WndProc接收所有的Windows消息来处理。
- 最大化,最小化,关闭窗体:这个系统自带,但是最大化的时候会遮蔽任务栏,通过Win32函数处理。
- 改变窗体背景图片,抛弃千篇一律的重复感:这个涉及到ImageBrush的内容,ViewPort的设置有关。
后续还需要改进,包括实现动画效果等等。
这一系列准备写下去,包括之后的线程和UI交互,异步处理长时间的操作等等,敬请关注,谢谢。
源码下载