現在大家應該對XML描述界面不那么陌生了,那么我們做進一步介紹。
前面的教程我們寫了很多代碼,為的是讓大家了解下基本流程,其實duilib已經對常用的操作做了很好的包裝,正式使用時無需像前面的教程那樣寫那么多代碼,下面我們就來看看XML的包裝類WindowImplBase:
WindowImplBase類是一個duilib的基礎框架類,封裝了常用操作,以方便大家使用。 它是以XML作為界面描述的,所以用它的時候,我們必須將界面描述寫到XML里。
下面將是我們第三次實現Hello World程序~O(∩_∩)O~
class CDuiFrameWnd : public WindowImplBase { public: virtual LPCTSTR GetWindowClassName() const { return _T("DUIMainFrame"); } virtual CDuiString GetSkinFile() { return _T("duilib.xml"); } virtual CDuiString GetSkinFolder() { return _T(""); } }; int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { CPaintManagerUI::SetInstance(hInstance); CDuiFrameWnd duiFrame; duiFrame.Create(NULL, _T("DUIWnd"), UI_WNDSTYLE_FRAME, WS_EX_WINDOWEDGE); duiFrame.CenterWindow(); duiFrame.ShowModal(); return 0; }
關鍵代碼才10行左右,是不是更簡單了呢? 后面的教程將會進一步介紹WindowImplBase的使用及功能~
注意:由於_tWinMain函數也基本不會變動,所以如果沒有改動,后面的教程也不再列出這些代碼,因為后面的教程基本上只需要改動CDuiFrameWnd 類以及XML文件。