Notepad++源码概览
转载自:http://blog.163.com/mnzn2531@126/blog/static/1683330820101161510987/
文件夹:
cursors 是鼠标手势
icons 是一些图标
MISC 包括一些工具,比如crc,异常的实现,进程的封装等等
ScitillaComponent 是一个重要的文件夹,里面包含了对Scitilla控件的封装,是我参考使用Scitilla的主要地方,不过里面的文件的确很多
TinyXml 不用说了,因为notepad++是用xml作配置的
tools 包括一些接入windows explorer的工具
WinControls 基本上把notepad++里要用到的控件封装了一个遍
在文件夹里剩下的都是notepad++的主要框架流程代码了。程序入口在winmain.cpp里,程序的框架类是Notepad_plus,程序的主窗口类是Notepad_plus_Window,主窗口用组合的方法包含了框架类的实现,而框架内持有主窗口的指针。
主框架的初始化在NppBigSwitch.cpp的
LRESULT Notepad_plus_Window::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)函数里。而Notepad_plus就是notepad++所有逻辑的分派基地和控件的容器。
类图: