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