|
|
【解析】Notepad++与窗口创建有关的源代码 |
巨大八爪鱼
武林盟主 二十一级
|
源代码下载地址:https://github.com/notepad-plus-plus/notepad-plus-plus/releases/tag/v6.9.2 解压后,VS工程文件位于notepad-plus-plus-6.9.2\PowerEditor\visual.net目录下 
|
巨大八爪鱼
武林盟主 二十一级
|
用Visual Studio 2012可以直接打开notepadPlus.vcxproj: 
|
巨大八爪鱼
武林盟主 二十一级
|
WinMain主函数位于winmain.cpp文件中: 
|
巨大八爪鱼
武林盟主 二十一级
|
 注册窗口类、创建窗口都是在Notepad_plus_Window类中进行的。
|
巨大八爪鱼
武林盟主 二十一级
|
注册窗口类: 
|
巨大八爪鱼
武林盟主 二十一级
|
创建窗口: 
|
巨大八爪鱼
武林盟主 二十一级
|
另外,generic_string就是tstring,也就是自动在string和wstring里面选择。  
|
巨大八爪鱼
武林盟主 二十一级
|
显示窗口: 
|
巨大八爪鱼
武林盟主 二十一级
|
窗口主过程函数: 
|
巨大八爪鱼
武林盟主 二十一级
|
 窗口类的名称
|
巨大八爪鱼
武林盟主 二十一级
|
消息循环: 
|
巨大八爪鱼
武林盟主 二十一级
|
由于消息循环是放在一个try块中的,因此可以方便地捕获程序中throw出来的错误,并停止消息循环的运行。
|
巨大八爪鱼
武林盟主 二十一级
|
主窗口中各种Windows消息的处理: 
|