AMIO编辑器开发(七):UI类的重构--构造函数多态

1、关于Application/Window层次的成员,如何获得,以及共享使用:

HWND hwnd窗口句柄

hInstance进程实例

这种元素到底如何封装比较好呢?

他们本质是DWORD的整数

。。。(灵感闪现)

嗯,应该将其备份值,存一份到center中(因为是DWORD整数,所以没有什么内存开销)

。。。(试写了几段,没进展,还是不成框架体系,写法有点山塞)

 

其实hwnd/hdc/都是系统的固有属性,所以从这个角度来思考,就可以理解为只要获得hwnd,就可以获得hdc以及通过hwnd/hdc来创建其它的资源,获得其句柄。

以hdc为例:

在WM_PAINT中可以通过BeginPaint(hwnd, &ps)来返回hdc

在非WM_PAINT中,可以通过GetDC(hwnd)来直接返回hdc

 

2、修复:前面的字体BUG

LogFont没有问题,只是我没有把hFont选入hdc,所以没有生效。修改后如下图所示,无论是LineNumView 还是 EditTextView都是等宽字体。

我选用的是"Courier New"字体,它是一种等宽字体,也是eclipse的默认字体。

最后我突然想到一个等宽字体可以做到,而非等宽字体绝对做不到了优势,那就是----列选!!!(这个功能对高级开发可能有帮助哟,算是个彩蛋吧!)

效果如下:

posted on 2012-04-30 18:56  aimo  阅读(213)  评论(0)    收藏  举报