• 大小: 3.83MB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-02-02
  • 语言: 其他
  • 标签: DUILIB  

资源简介

《DUILIB加载XML界面》对应源码,博客地址:http://blog.csdn.net/harvic880925/article/details/8920326,有兴趣的朋友可以去看看

资源截图

代码片段和文件信息

// blog_try.cpp : 定义应用程序的入口点。
//

#include “stdafx.h“
#include “blog_try.h“


CMainframe::CMainframe(void)
{

}

CMainframe::~CMainframe(void)
{
}
LPCTSTR CMainframe::GetWindowClassName() const //重写获取类名函数,也就是指定要新建的窗口类的类名

return _T(“UIMainframe“); 
};
UINT const CMainframe::GetClassstyle()  //重写这个函数,来指定窗口样式

return UI_CLASSstyle_frame | CS_DBLCLKS; 
};
void CMainframe::OnPrepare() 
{
}
void CMainframe::Notify(TNotifyUI& msg)//处理窗口通知消息,响应用户的输入
{
if( msg.sType == _T(“windowinit“) ) OnPrepare();

}
LRESULT CMainframe::OnCreate(UINT uMsg WPARAM wParam LPARAM lParam BOOL& bHandled){
LONG styleValue = ::GetWindowLong(*this GWL_style);
styleValue &= ~WS_CAPTION;
::SetWindowLong(*this GWL_style styleValue | WS_CLIPSIBLINGS | WS_CLIPCHILDREN);

m_pm.Init(m_hWnd);//主窗口类与窗口句柄关联
CDialogBuilder builder;

CControlUI* pRoot = builder.Create(_T(“UISkin.xml“) (UINT)0 NULL &m_pm);//加载xml并动态创建界面无素,与布局界面元素,核心函数单独分析
//注意:CDialogBuilder 并不是一个对话框类
ASSERT(pRoot && “Failed to parse xml“);
if (NULL==pRoot)//如果找不到皮肤文件则退出
{
MessageBox(NULLTEXT(“Cant not find the skin!“)NULLMB_ICONHAND);
return 0;
}
m_pm.AttachDialog(pRoot);//附加控件数据到HASH表中……为pRoot作为对话框结点,为其创建控件树
m_pm.AddNotifier(this);//增加通知处理

return 0;
}
LRESULT CMainframe::HandleMessage(UINT uMsg WPARAM wParam LPARAM lParam)
{
LRESULT lRes = 0;
BOOL bHandled = TRUE;
switch( uMsg ) {
case WM_CREATE: 
lRes = OnCreate(uMsg wParam lParam bHandled); 
break;
default:
bHandled = FALSE;
}
if( bHandled ) return lRes;
if( m_pm.MessageHandler(uMsg wParam lParam lRes) ) return lRes;
return CWindowWnd::HandleMessage(uMsg wParam lParam);
}

int APIENTRY _tWinMain(HINSTANCE hInstance
                     HINSTANCE hPrevInstance
                     LPTSTR    lpCmdLine
                     int       nCmdShow)
{
CPaintManagerUI::SetInstance(hInstance);//设置程序实例
CPaintManagerUI::SetResourcePath(CPaintManagerUI::GetInstancePath() 
+ _T(“skin“));//实例句柄与渲染类关联获得皮肤文件目录(加载皮肤文件在OnCreate之中)

HRESULT Hr = ::CoInitialize(NULL);//初始化COM库 为加载COM库提供支持
if( FAILED(Hr) ) 
return 0;

CMainframe* pMainframe = new CMainframe();//创建应用程序窗口类对象
if( pMainframe == NULL ) 
return 0;
pMainframe->Create(NULL _T(“AdderCalc“) UI_WNDstyle_DIALOG 0);
pMainframe->CenterWindow();//将窗口放到桌面中央
pMainframe->ShowWindow(true);//显示窗口
CPaintManagerUI::MessageLoop();//进入消息循环

::CoUninitialize();//退出程序并释放COM库
return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2763  2013-05-13 13:41  blog_try\blog_try\blog_try.cpp

     文件        564  2013-05-13 13:39  blog_try\blog_try\blog_try.h

    .......     23558  2003-07-24 09:52  blog_try\blog_try\blog_try.ico

     文件       3374  2013-05-13 10:42  blog_try\blog_try\blog_try.rc

     文件       4813  2013-05-13 10:42  blog_try\blog_try\blog_try.vcproj

     文件       1423  2013-05-13 14:13  blog_try\blog_try\blog_try.vcproj.20120612-1003.Administrator.user

     文件        663  2013-05-13 13:41  blog_try\blog_try\Debug\blog_try.exe.embed.manifest

     文件        728  2013-05-13 13:41  blog_try\blog_try\Debug\blog_try.exe.embed.manifest.res

     文件        621  2013-05-13 13:41  blog_try\blog_try\Debug\blog_try.exe.intermediate.manifest

     文件      23699  2013-05-13 13:41  blog_try\blog_try\Debug\blog_try.obj

     文件    9764864  2013-05-13 13:34  blog_try\blog_try\Debug\blog_try.pch

     文件      48272  2013-05-13 13:41  blog_try\blog_try\Debug\blog_try.res

     文件      11438  2013-05-13 13:41  blog_try\blog_try\Debug\BuildLog.htm

     文件         67  2013-05-13 13:41  blog_try\blog_try\Debug\mt.dep

     文件     191271  2013-05-13 13:34  blog_try\blog_try\Debug\stdafx.obj

     文件     470016  2013-05-13 13:41  blog_try\blog_try\Debug\vc90.idb

     文件     790528  2013-05-13 13:41  blog_try\blog_try\Debug\vc90.pdb

     文件     443588  2013-05-13 10:36  blog_try\blog_try\DuiLib.lib

     文件     446180  2013-05-13 10:36  blog_try\blog_try\DuiLib_d.lib

     文件     447372  2013-05-13 10:36  blog_try\blog_try\DuiLib_u.lib

     文件     448600  2013-05-13 10:36  blog_try\blog_try\DuiLib_ud.lib

     文件       1959  2013-05-13 10:42  blog_try\blog_try\ReadMe.txt

     文件        724  2013-05-13 10:42  blog_try\blog_try\Resource.h

    .......     23558  2003-07-24 09:52  blog_try\blog_try\small.ico

     文件        213  2013-05-13 10:42  blog_try\blog_try\stdafx.cpp

     文件        749  2013-05-13 13:31  blog_try\blog_try\stdafx.h

     文件       1026  2013-05-13 10:42  blog_try\blog_try\targetver.h

     文件       1795  2011-05-31 21:42  blog_try\blog_try\UIActiveX.h

     文件       8544  2011-06-04 10:51  blog_try\blog_try\UIbase.h

     文件       3697  2011-07-27 09:24  blog_try\blog_try\UICombo.h

............此处省略41个文件信息

评论

共有 条评论