前面的教程我們寫了很多代碼,爲的是讓大家瞭解下基本流程,其實duilib已經對常用的操作做了很好的包裝,正式使用時無需像前面的教程那樣寫那麼多代碼,下面我們就來看看XML的包裝類WindowImplBase:
WindowImplBase類是一個duilib的基礎框架類,封裝了常用操作,以方便大家使用。 它是以XML作爲界面描述的,所以用它的時候,我們必須將界面描述寫到XML裏。
下面將是我們第三次實現Hello World程序~O(∩_∩)O~
關鍵代碼才10行左右,是不是更簡單了呢? 後面的教程將會進一步介紹WindowImplBase的使用及功能~ 注意:由於_tWinMain函數也基本不會變動,所以如果沒有改動,後面的教程也不再列出這些代碼,因爲後面的教程基本上只需要改動CDuiFrameWnd 類以及XML文件。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;
}