资源简介
《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.em
文件 728 2013-05-13 13:41 blog_try\blog_try\Debug\blog_try.exe.em
文件 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\UIba
文件 3697 2011-07-27 09:24 blog_try\blog_try\UICombo.h
............此处省略41个文件信息
相关资源
- 2013 duilib入门简明教程 整个工程(含
- 基于duilib的NSIS界面插件
- 64位Duilib库lib+dll
- duilib入门简明教程 chm
- duilib VS2013编译好的库
- Duilib做的登录窗口
- duilib界面库,库ListCtrl可以添加check
- RichEditDemo(DuiLib版)
- duilib 日历程序
- Duilib的设计工具DuiDesigner
- duilib + vlc 实现超高仿迅雷播放器
- skillcore实现的UI动画Demo
- duilib源码及Demo DuiMessageBox通用版
- Redrain仿酷狗播放器 duilib 有资源文件
- duilib webkit内核浏览器控件修复select标
- Redrain仿酷狗播放器完整源代码
- duilib 类似qq的图片查看器
- DUILib最新版
- Duilib最新界面库完整带demo
- duilib+cef3源码
- 2013 duilib入门简明教程 整个工程(含
- duilib中嵌入cef3, 并和js交互
- 让Duilib完美支持gif
- duilibDemo
- VirtualList.7z
- Duilib ListUI扩展 源码
- duilib官方帮助文档
- DuiCef
- 仿记事本Demo
- DUIlib使用Fastreport
评论
共有 条评论