1. 首先说明:
(1)提供全部类库及示例代码,但代码仅限于学习和技术交流之用。
(2)目前类库只有窗体,没有其它控件,但窗体支持MDI。
(3)类库还有些问题未能解决,具体请看代码附带的文档。
2. 类库实现的界面效果:
多标签浏览器:
普通窗体:
3. 实现的主要技术
(1) 拦截WM_NCCALCSIZE消息,使客户区铺满整个窗口,这样我们控制客户区就控制了整个窗口。
(2) 拦截WM_NCHITTEST消息,自己处理并返回相应结果解决窗体移动,鼠标改变大小的问题。
(3) 重写OnPaint()方法,利用该方法提供的Graphics对象绘制整个窗口。由于客户区已经铺满了整个窗口,所以利用这个Graphics就可以在窗口的任意位置画任意元素了,包括模拟的标题栏,窗体边框,控制按钮等。
(4) MDI的实现:完全利用GDI+绘制整个Mdi-Bar,内部记录各个标签页的位置及大小,处理其鼠标单击等操作。
4. 下载地址
从这里下载
下载的代码中附带类库使用文档。