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的默认字体。
最后我突然想到一个等宽字体可以做到,而非等宽字体绝对做不到了优势,那就是----列选!!!(这个功能对高级开发可能有帮助哟,算是个彩蛋吧!)
效果如下: