学会了怎么写XML文件,但是我还是不知道怎么实现各个控件之间的消息传递。于是我对源代码好好研究了一下,发现duilib作为一个界面库有自己独立的封装的窗口类,也就是WindowsImplBase。
在这个类中,实现对windows窗口传过来的消息的处理,以及初始化时创建控件,绘制窗口等功能。继承这个窗口类,就可以将我们自己的XML文件解析,显示自己设计的窗口。
//.h头文件
virtual CControlUI* CreateControl(LPCTSTR pstrClass); //创建XML文件中的控件,如果自绘控件的话,需要重载这个函数,否则无法加载XML文件中的自绘控件
virtual tString GetSkinFolder(); //设置XML文件的路径
virtual tString GetSkinFile() = 0;//获取XML文件的名字
窗口类解析完XML文件后,窗口就可以显示了,我们还要重载INotifyUI类中的消息处理函数来处理自己窗口获得的消息。
void Notify(TNotifyUI&