From a927a834c9c52ac50add341c885d908a63f9c247 Mon Sep 17 00:00:00 2001 From: Troy <656067418@qq.com> Date: Wed, 26 Aug 2015 17:21:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=B8=B8=E7=BB=B4=E6=8A=A4=E6=9B=B4?= =?UTF-8?q?=E6=96=B0-UIMenu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1、新增UIMenu菜单使用例子 2、新增静态库编译选项:选择S开头的编译选项即可 3、duidemo增加更多演示例子控件 --- Demos/ADMonSetup/ADMonSetup.vcxproj | 152 ++++++++++ .../Debug/ADMonSetup.exe.embed.manifest.res | Bin 0 -> 68 bytes Demos/ADMonSetup/Debug/ADMonSetup.res | Bin 0 -> 48304 bytes Demos/ADMonSetup/Debug/ADMonSetup_manifest.rc | Bin 0 -> 210 bytes .../SDebug/ADMonSetup.exe.embed.manifest.res | Bin 0 -> 68 bytes Demos/ADMonSetup/SDebug/ADMonSetup.res | Bin 0 -> 48304 bytes .../SDebug/ADMonSetup.unsuccessfulbuild | 0 .../ADMonSetup/SDebug/ADMonSetup_manifest.rc | Bin 0 -> 212 bytes .../SDebugA/ADMonSetup.exe.embed.manifest.res | Bin 0 -> 68 bytes Demos/ADMonSetup/SDebugA/ADMonSetup.res | Bin 0 -> 48304 bytes .../SDebugA/ADMonSetup.unsuccessfulbuild | 0 .../ADMonSetup/SDebugA/ADMonSetup_manifest.rc | Bin 0 -> 214 bytes Demos/ADMonSetup/SRelease/ADMonSetup.res | Bin 0 -> 48304 bytes Demos/ADMonSetup/SReleaseA/ADMonSetup.res | Bin 0 -> 48304 bytes Demos/ADMonSetup/stdafx.h | 16 +- Demos/bdwallpaper/BDWallPaper.vcxproj | 266 ++++++++++++++++++ Demos/duidemo/MainWnd.h | 65 +++++ Demos/duidemo/duidemo.cpp | 35 +-- Demos/duidemo/duidemo.vcxproj | 233 +++++++++++++++ Demos/duidemo/duidemo.vcxproj.filters | 3 + Demos/gamebox/GameBox.vcxproj | 250 ++++++++++++++++ Demos/transwnd/transwnd.vcxproj | 238 ++++++++++++++++ Demos/xlgamebox/XLGameBox.vcxproj | 250 ++++++++++++++++ DuiLib.sln | 60 ++++ DuiLib.suo | Bin 54784 -> 71680 bytes DuiLib/Control/UIList.cpp | 22 +- DuiLib/Control/UIMenu.cpp | 16 +- DuiLib/Control/UIMenu.h | 8 + DuiLib/DuiLib.vcxproj | 253 ++++++++++++++++- DuiLib/UIlib.h | 9 +- bin/skin/duidemo/main.xml | 7 +- bin/skin/duidemo/menu.xml | 25 ++ bin/skin/duidemo/menu/icon.png | Bin 0 -> 972 bytes bin/skin/duidemo/menu/menu_bk.png | Bin 0 -> 3406 bytes bin/skin/duidemo/menu/menu_check.png | Bin 0 -> 42720 bytes bin/skin/duidemo/menu/menu_expand.png | Bin 0 -> 41111 bytes 36 files changed, 1857 insertions(+), 51 deletions(-) create mode 100644 Demos/ADMonSetup/Debug/ADMonSetup.exe.embed.manifest.res create mode 100644 Demos/ADMonSetup/Debug/ADMonSetup.res create mode 100644 Demos/ADMonSetup/Debug/ADMonSetup_manifest.rc create mode 100644 Demos/ADMonSetup/SDebug/ADMonSetup.exe.embed.manifest.res create mode 100644 Demos/ADMonSetup/SDebug/ADMonSetup.res create mode 100644 Demos/ADMonSetup/SDebug/ADMonSetup.unsuccessfulbuild create mode 100644 Demos/ADMonSetup/SDebug/ADMonSetup_manifest.rc create mode 100644 Demos/ADMonSetup/SDebugA/ADMonSetup.exe.embed.manifest.res create mode 100644 Demos/ADMonSetup/SDebugA/ADMonSetup.res create mode 100644 Demos/ADMonSetup/SDebugA/ADMonSetup.unsuccessfulbuild create mode 100644 Demos/ADMonSetup/SDebugA/ADMonSetup_manifest.rc create mode 100644 Demos/ADMonSetup/SRelease/ADMonSetup.res create mode 100644 Demos/ADMonSetup/SReleaseA/ADMonSetup.res create mode 100644 bin/skin/duidemo/menu.xml create mode 100644 bin/skin/duidemo/menu/icon.png create mode 100644 bin/skin/duidemo/menu/menu_bk.png create mode 100644 bin/skin/duidemo/menu/menu_check.png create mode 100644 bin/skin/duidemo/menu/menu_expand.png diff --git a/Demos/ADMonSetup/ADMonSetup.vcxproj b/Demos/ADMonSetup/ADMonSetup.vcxproj index 5be76634..24930afd 100644 --- a/Demos/ADMonSetup/ADMonSetup.vcxproj +++ b/Demos/ADMonSetup/ADMonSetup.vcxproj @@ -9,6 +9,22 @@ Release Win32 + + SDebugA + Win32 + + + SDebug + Win32 + + + SReleaseA + Win32 + + + SRelease + Win32 + {46E0954B-D9BE-48D6-8573-10B4F41E0171} @@ -21,34 +37,88 @@ Unicode true + + Application + Unicode + true + + + Application + false + MultiByte + Application Unicode + + Application + Unicode + + + Application + MultiByte + + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 $(SolutionDir)Bin\ + $(SolutionDir)Bin\ + $(SolutionDir)Bin\ $(Configuration)\ + $(Configuration)\ + $(Configuration)\ true + true + true $(SolutionDir)Bin\ + $(SolutionDir)Bin\ + $(SolutionDir)Bin\ $(Configuration)\ + $(Configuration)\ + $(Configuration)\ false + false + false AllRules.ruleset + AllRules.ruleset + AllRules.ruleset + + + + AllRules.ruleset + AllRules.ruleset + AllRules.ruleset + + + + @@ -70,6 +140,46 @@ compatibility.manifest + + + Disabled + WIN32;_DEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + Use + Level3 + EditAndContinue + + + true + Windows + MachineX86 + + + compatibility.manifest + + + + + Disabled + WIN32;_DEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + Use + Level3 + EditAndContinue + + + true + Windows + MachineX86 + + + compatibility.manifest + + MaxSpeed @@ -89,11 +199,53 @@ MachineX86 + + + MaxSpeed + true + WIN32;NDEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + MultiThreadedDLL + true + Use + Level3 + ProgramDatabase + + + true + Windows + true + true + MachineX86 + + + + + MaxSpeed + true + WIN32;NDEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + MultiThreadedDLL + true + Use + Level3 + ProgramDatabase + + + true + Windows + true + true + MachineX86 + + Create + Create + Create Create + Create + Create diff --git a/Demos/ADMonSetup/Debug/ADMonSetup.exe.embed.manifest.res b/Demos/ADMonSetup/Debug/ADMonSetup.exe.embed.manifest.res new file mode 100644 index 0000000000000000000000000000000000000000..c4d02afa239886c4a1845b3c376c60dbc9f43471 GIT binary patch literal 68 scmZQzU|>)H;{X347|28cOhBFj5dZ%#0mO`8IRgex7BB-O{*QqH0Azg%jsO4v literal 0 HcmV?d00001 diff --git a/Demos/ADMonSetup/Debug/ADMonSetup.res b/Demos/ADMonSetup/Debug/ADMonSetup.res new file mode 100644 index 0000000000000000000000000000000000000000..038f602c78cca2e369b83e7af26f709ce352f694 GIT binary patch literal 48304 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 literal 0 HcmV?d00001 diff --git a/Demos/ADMonSetup/Debug/ADMonSetup_manifest.rc b/Demos/ADMonSetup/Debug/ADMonSetup_manifest.rc new file mode 100644 index 0000000000000000000000000000000000000000..468bf0bf6c05e116c8eca3b4fcbd3a40ad674f50 GIT binary patch literal 210 zcmZXM!4APt5Jk^g;vbqWyCB35G*n_yq^+H#AxbQY1c|T5c@j1)H;{X347|28cOhBFj5dZ%#0mO`8IRgex7BB-O{*QqH0Azg%jsO4v literal 0 HcmV?d00001 diff --git a/Demos/ADMonSetup/SDebug/ADMonSetup.res b/Demos/ADMonSetup/SDebug/ADMonSetup.res new file mode 100644 index 0000000000000000000000000000000000000000..038f602c78cca2e369b83e7af26f709ce352f694 GIT binary patch literal 48304 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 literal 0 HcmV?d00001 diff --git a/Demos/ADMonSetup/SDebug/ADMonSetup.unsuccessfulbuild b/Demos/ADMonSetup/SDebug/ADMonSetup.unsuccessfulbuild new file mode 100644 index 00000000..e69de29b diff --git a/Demos/ADMonSetup/SDebug/ADMonSetup_manifest.rc b/Demos/ADMonSetup/SDebug/ADMonSetup_manifest.rc new file mode 100644 index 0000000000000000000000000000000000000000..e1f7b6d28a5a788f5f2142e7e11370cd4e45a7a7 GIT binary patch literal 212 zcmZXMK?;HZ5JlfQ=nmr2MNxDCNrM(vsO{}aAsXi7rOjynf7 jR_vW|=H#d5rhj3edf44=Wo!28maWv0#``K6(x=B8p-CXV literal 0 HcmV?d00001 diff --git a/Demos/ADMonSetup/SDebugA/ADMonSetup.exe.embed.manifest.res b/Demos/ADMonSetup/SDebugA/ADMonSetup.exe.embed.manifest.res new file mode 100644 index 0000000000000000000000000000000000000000..c4d02afa239886c4a1845b3c376c60dbc9f43471 GIT binary patch literal 68 scmZQzU|>)H;{X347|28cOhBFj5dZ%#0mO`8IRgex7BB-O{*QqH0Azg%jsO4v literal 0 HcmV?d00001 diff --git a/Demos/ADMonSetup/SDebugA/ADMonSetup.res b/Demos/ADMonSetup/SDebugA/ADMonSetup.res new file mode 100644 index 0000000000000000000000000000000000000000..038f602c78cca2e369b83e7af26f709ce352f694 GIT binary patch literal 48304 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 literal 0 HcmV?d00001 diff --git a/Demos/ADMonSetup/SDebugA/ADMonSetup.unsuccessfulbuild b/Demos/ADMonSetup/SDebugA/ADMonSetup.unsuccessfulbuild new file mode 100644 index 00000000..e69de29b diff --git a/Demos/ADMonSetup/SDebugA/ADMonSetup_manifest.rc b/Demos/ADMonSetup/SDebugA/ADMonSetup_manifest.rc new file mode 100644 index 0000000000000000000000000000000000000000..0d84b8a3c2a27660d653a9e17156608ac29f85cf GIT binary patch literal 214 zcmZXN!3u&v6h+TE=pV$Ti=yZUBn?_vp|%U8NTY=nRM6K~$DlUxm^XLsJ=}RcM+6Ls z+*5K=VoLW)z0^r5oQh0;!JOI0DRnxwkXfrbt};z*iEIlPGx_!AHvTt!$F!p#X0LA9N*!r@UnN8O^mqf@=^+0A literal 0 HcmV?d00001 diff --git a/Demos/ADMonSetup/SRelease/ADMonSetup.res b/Demos/ADMonSetup/SRelease/ADMonSetup.res new file mode 100644 index 0000000000000000000000000000000000000000..038f602c78cca2e369b83e7af26f709ce352f694 GIT binary patch literal 48304 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 literal 0 HcmV?d00001 diff --git a/Demos/ADMonSetup/SReleaseA/ADMonSetup.res b/Demos/ADMonSetup/SReleaseA/ADMonSetup.res new file mode 100644 index 0000000000000000000000000000000000000000..038f602c78cca2e369b83e7af26f709ce352f694 GIT binary patch literal 48304 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 literal 0 HcmV?d00001 diff --git a/Demos/ADMonSetup/stdafx.h b/Demos/ADMonSetup/stdafx.h index 8256d4e4..a030c5b7 100644 --- a/Demos/ADMonSetup/stdafx.h +++ b/Demos/ADMonSetup/stdafx.h @@ -11,10 +11,6 @@ // Windows Header Files: #include -// C RunTime Header Files -//#include -//#include -//#include #include #include "..\..\DuiLib\UIlib.h" @@ -22,9 +18,17 @@ using namespace DuiLib; #ifdef _DEBUG -# pragma comment(lib, "..\\..\\Lib\\DuiLib_d.lib") +# ifdef _UNICODE +# pragma comment(lib, "..\\..\\lib\\DuiLib_d.lib") +# else +# pragma comment(lib, "..\\..\\lib\\DuiLibA_d.lib") +# endif #else -# pragma comment(lib, "..\\..\\Lib\\DuiLib.lib") +# ifdef _UNICODE +# pragma comment(lib, "..\\..\\lib\\DuiLib.lib") +# else +# pragma comment(lib, "..\\..\\lib\\DuiLibA.lib") +# endif #endif diff --git a/Demos/bdwallpaper/BDWallPaper.vcxproj b/Demos/bdwallpaper/BDWallPaper.vcxproj index 05b264ab..ee32f8cf 100644 --- a/Demos/bdwallpaper/BDWallPaper.vcxproj +++ b/Demos/bdwallpaper/BDWallPaper.vcxproj @@ -17,6 +17,22 @@ Release Win32 + + SDebugA + Win32 + + + SDebug + Win32 + + + SReleaseA + Win32 + + + SRelease + Win32 + BDWallPaper @@ -37,6 +53,16 @@ false Unicode + + Application + false + Unicode + + + Application + false + MultiByte + Application false @@ -47,6 +73,16 @@ false Unicode + + Application + false + Unicode + + + Application + false + MultiByte + Application false @@ -59,6 +95,14 @@ + + + + + + + + @@ -67,6 +111,14 @@ + + + + + + + + @@ -75,32 +127,60 @@ <_ProjectFileVersion>10.0.40219.1 $(SolutionDir)bin\ + $(SolutionDir)bin\ + $(SolutionDir)bin\ $(SolutionDir)bin\ $(SolutionDir)temp\BDWallPaper\$(Configuration)\ + $(SolutionDir)temp\BDWallPaper\$(Configuration)\ + $(SolutionDir)temp\BDWallPaper\$(Configuration)\ $(SolutionDir)temp\BDWallPaper\$(Configuration)\ true + true + true true $(SolutionDir)bin\ + $(SolutionDir)bin\ + $(SolutionDir)bin\ $(SolutionDir)bin\ $(SolutionDir)temp\BDWallPaper\$(Configuration)\ + $(SolutionDir)temp\BDWallPaper\$(Configuration)\ + $(SolutionDir)temp\BDWallPaper\$(Configuration)\ $(SolutionDir)temp\BDWallPaper\$(Configuration)\ false + false + false false AllRules.ruleset + AllRules.ruleset + AllRules.ruleset AllRules.ruleset + + + + AllRules.ruleset + AllRules.ruleset + AllRules.ruleset AllRules.ruleset + + + + $(ProjectName)_d + $(ProjectName)_d + $(ProjectName)_d $(ProjectName)_d $(ProjectName) + $(ProjectName) + $(ProjectName) $(ProjectName) @@ -143,6 +223,86 @@ .\Debug/BDWallPaper.bsc + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/BDWallPaper.tlb + + + + + Disabled + WIN32;_DEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + stdafx.h + true + Level3 + true + ProgramDatabase + helper;controlex;helper\jsoncpp; + + + _DEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + true + true + Windows + MachineX86 + + + true + .\Debug/BDWallPaper.bsc + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/BDWallPaper.tlb + + + + + Disabled + WIN32;_DEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + stdafx.h + true + Level3 + true + ProgramDatabase + helper;controlex;helper\jsoncpp; + + + _DEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + true + true + Windows + MachineX86 + + + true + .\Debug/BDWallPaper.bsc + + _DEBUG;%(PreprocessorDefinitions) @@ -222,6 +382,84 @@ .\Release/BDWallPaper.bsc + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/BDWallPaper.tlb + + + + + MinSpace + OnlyExplicitInline + WIN32;NDEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + Level3 + true + helper;controlex;helper\jsoncpp; + + + NDEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + Windows + MachineX86 + + + + + true + .\Release/BDWallPaper.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/BDWallPaper.tlb + + + + + MinSpace + OnlyExplicitInline + WIN32;NDEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + Level3 + true + helper;controlex;helper\jsoncpp; + + + NDEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + Windows + MachineX86 + + + + + true + .\Release/BDWallPaper.bsc + + NDEBUG;%(PreprocessorDefinitions) @@ -265,44 +503,72 @@ NotUsing + NotUsing + NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) %(PreprocessorDefinitions) Create + Create + Create Create %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) %(PreprocessorDefinitions) Create + Create + Create Create diff --git a/Demos/duidemo/MainWnd.h b/Demos/duidemo/MainWnd.h index 4601c184..e0cec9cf 100644 --- a/Demos/duidemo/MainWnd.h +++ b/Demos/duidemo/MainWnd.h @@ -205,6 +205,39 @@ class CDemoFrame : public WindowImplBase, public CWebBrowserEventHandler, public sIEPath.Format(_T("%s\\Internet Explorer\\iexplore.exe"), szPath); ShellExecute(NULL, _T("open"), sIEPath, _T("tencent://Message/?Uin=656067418&Menu=yes"), NULL, SW_SHOW); } + else if(sName.CompareNoCase(_T("menubtn")) == 0) + { + CMenuWnd* pMenu = new CMenuWnd(); + CDuiPoint point; + ::GetCursorPos(&point); + + pMenu->Init(NULL, _T("menu.xml"), point, &m_PaintManager); + CMenuUI* rootMenu = pMenu->GetMenuUI(); + if (rootMenu != NULL) + { + CMenuElementUI* pNew = new CMenuElementUI; + pNew->SetName(_T("Menu_Dynamic")); + pNew->SetText(_T("̬һ˵")); + pNew->SetShowExplandIcon(true); + pNew->SetIcon(_T("WebSit.png")); + pNew->SetIconSize(16,16); + + CMenuElementUI* pSubNew = new CMenuElementUI; + pSubNew->SetText(_T("̬˵")); + pSubNew->SetName(_T("Menu_Dynamic")); + pSubNew->SetIcon(_T("Virus.png")); + pSubNew->SetIconSize(16,16); + pNew->Add(pSubNew); + rootMenu->Add(pNew); + CMenuElementUI* pNew2 = new CMenuElementUI; + pNew2->SetName(_T("Menu_Dynamic")); + pNew2->SetText(_T("̬һ˵2")); + rootMenu->AddAt(pNew2,2); + } + + // ̬Ӻò˵ĴС + pMenu->ResizeMenu(); + } } LRESULT OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) @@ -243,6 +276,37 @@ class CDemoFrame : public WindowImplBase, public CWebBrowserEventHandler, public bHandled = TRUE; return 0; } + else if (uMsg == WM_MENUCLICK) + { + MenuCmd* pMenuCmd = (MenuCmd*)wParam; + if(pMenuCmd != NULL) + { + BOOL bChecked = pMenuCmd->bChecked; + CDuiString sMenuName = pMenuCmd->szName; + CDuiString sUserData = pMenuCmd->szUserData; + CDuiString sText = pMenuCmd->szText; + delete pMenuCmd; + pMenuCmd = NULL; + + if ( sMenuName == _T("qianting")) + { + if (bChecked) + { + MessageBox(m_hWnd, _T("ԤDZͧ"), _T(""), 0); + } + else + { + MessageBox(m_hWnd, _T("ȡDZͧ"), NULL, 0); + } + } + else + { + MessageBox(m_hWnd, sText, NULL, 0); + } + } + bHandled = TRUE; + return 0; + } bHandled = FALSE; return 0; } @@ -254,4 +318,5 @@ class CDemoFrame : public WindowImplBase, public CWebBrowserEventHandler, public CButtonUI* m_pRestoreBtn; CButtonUI* m_pMinBtn; CButtonUI* m_pSkinBtn; + std::map m_MenuInfos; }; diff --git a/Demos/duidemo/duidemo.cpp b/Demos/duidemo/duidemo.cpp index 8f7fb538..abb7313c 100644 --- a/Demos/duidemo/duidemo.cpp +++ b/Demos/duidemo/duidemo.cpp @@ -9,38 +9,9 @@ #include "MainWnd.h" #include "PopWnd.h" -static LPBYTE resource_zip_buffer_ = NULL; - -#define USE_EMBEDED_RESOURCE - int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPSTR /*lpCmdLine*/, int nCmdShow) { CPaintManagerUI::SetInstance(hInstance); - -#ifdef USE_EMBEDED_RESOURCE - HRSRC hResource = ::FindResource(CPaintManagerUI::GetResourceDll(), _T("IDR_ZIPRES"), _T("ZIPRES")); - if( hResource == NULL ) - return 0L; - DWORD dwSize = 0; - HGLOBAL hGlobal = ::LoadResource(CPaintManagerUI::GetResourceDll(), hResource); - if( hGlobal == NULL ) { - FreeResource(hResource); - return 0L; - } - dwSize = ::SizeofResource(CPaintManagerUI::GetResourceDll(), hResource); - if( dwSize == 0 ) - return 0L; - resource_zip_buffer_ = new BYTE[ dwSize ]; - if (resource_zip_buffer_ != NULL) - { - ::CopyMemory(resource_zip_buffer_, (LPBYTE)::LockResource(hGlobal), dwSize); - } - - ::FreeResource(hResource); - CPaintManagerUI::SetResourceZip(resource_zip_buffer_, dwSize); -#else - CPaintManagerUI::SetResourcePath(CPaintManagerUI::GetInstancePath() + _T("skin\\duidemo")); -#endif HRESULT Hr = ::CoInitialize(NULL); @@ -50,9 +21,9 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPSTR /*l if( pFrame == NULL ) return 0; pFrame->Create(NULL, _T("duilibʾ"), UI_WNDSTYLE_FRAME, 0L, 0, 0, 800, 572); pFrame->CenterWindow(); - pFrame->ShowModal(); - //::ShowWindow(*pFrame, SW_SHOW); - //CPaintManagerUI::MessageLoop(); + //pFrame->ShowModal(); + ::ShowWindow(*pFrame, SW_SHOW); + CPaintManagerUI::MessageLoop(); ::CoUninitialize(); return 0; diff --git a/Demos/duidemo/duidemo.vcxproj b/Demos/duidemo/duidemo.vcxproj index 34a4a412..38269914 100644 --- a/Demos/duidemo/duidemo.vcxproj +++ b/Demos/duidemo/duidemo.vcxproj @@ -17,6 +17,22 @@ Release Win32 + + SDebugA + Win32 + + + SDebug + Win32 + + + SReleaseA + Win32 + + + SRelease + Win32 + duidemo @@ -37,6 +53,16 @@ false Unicode + + Application + false + Unicode + + + Application + false + MultiByte + Application false @@ -47,6 +73,16 @@ false Unicode + + Application + false + Unicode + + + Application + false + MultiByte + Application false @@ -59,6 +95,14 @@ + + + + + + + + @@ -67,6 +111,14 @@ + + + + + + + + @@ -75,32 +127,60 @@ <_ProjectFileVersion>10.0.40219.1 $(SolutionDir)bin\ + $(SolutionDir)bin\ + $(SolutionDir)bin\ $(SolutionDir)bin\ $(SolutionDir)temp\duidemo\$(Configuration)\ + $(SolutionDir)temp\duidemo\$(Configuration)\ + $(SolutionDir)temp\duidemo\$(Configuration)\ $(SolutionDir)temp\duidemo\$(Configuration)\ true + true + true true $(SolutionDir)bin\ + $(SolutionDir)bin\ + $(SolutionDir)bin\ $(SolutionDir)bin\ $(SolutionDir)temp\duidemo\$(Configuration)\ + $(SolutionDir)temp\duidemo\$(Configuration)\ + $(SolutionDir)temp\duidemo\$(Configuration)\ $(SolutionDir)temp\duidemo\$(Configuration)\ false + false + false false AllRules.ruleset + AllRules.ruleset + AllRules.ruleset AllRules.ruleset + + + + AllRules.ruleset + AllRules.ruleset + AllRules.ruleset AllRules.ruleset + + + + $(ProjectName)_d + $(ProjectName)_d + $(ProjectName)_d $(ProjectName)_d $(ProjectName) + $(ProjectName) + $(ProjectName) $(ProjectName) @@ -118,6 +198,76 @@ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) true EnableFastChecks + MultiThreadedDebugDLL + Use + stdafx.h + Level3 + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + true + true + Windows + MachineX86 + + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/duidemo.tlb + + + + + Disabled + WIN32;_DEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + stdafx.h + Level3 + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + true + true + Windows + MachineX86 + + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/duidemo.tlb + + + + + Disabled + WIN32;_DEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + EnableFastChecks MultiThreadedDebug Use stdafx.h @@ -213,6 +363,80 @@ true + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/duidemo.tlb + + + + + MinSpace + OnlyExplicitInline + WIN32;NDEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + Windows + MachineX86 + + + + + true + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/duidemo.tlb + + + + + MinSpace + OnlyExplicitInline + WIN32;NDEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + Windows + MachineX86 + + + + + true + + NDEBUG;%(PreprocessorDefinitions) @@ -255,12 +479,20 @@ %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) %(PreprocessorDefinitions) Create + Create + Create Create %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) %(PreprocessorDefinitions) Create + Create + Create Create @@ -291,6 +523,7 @@ Designer + Designer diff --git a/Demos/duidemo/duidemo.vcxproj.filters b/Demos/duidemo/duidemo.vcxproj.filters index 17e6e48e..a2b82621 100644 --- a/Demos/duidemo/duidemo.vcxproj.filters +++ b/Demos/duidemo/duidemo.vcxproj.filters @@ -138,6 +138,9 @@ Resources\xmls + + Resources\xmls + diff --git a/Demos/gamebox/GameBox.vcxproj b/Demos/gamebox/GameBox.vcxproj index 3d94ac7f..5cfe7adc 100644 --- a/Demos/gamebox/GameBox.vcxproj +++ b/Demos/gamebox/GameBox.vcxproj @@ -17,6 +17,22 @@ Release Win32 + + SDebugA + Win32 + + + SDebug + Win32 + + + SReleaseA + Win32 + + + SRelease + Win32 + GameBox @@ -37,6 +53,16 @@ false Unicode + + Application + false + Unicode + + + Application + false + MultiByte + Application false @@ -47,6 +73,16 @@ false Unicode + + Application + false + Unicode + + + Application + false + MultiByte + Application false @@ -59,6 +95,14 @@ + + + + + + + + @@ -67,6 +111,14 @@ + + + + + + + + @@ -75,32 +127,60 @@ <_ProjectFileVersion>10.0.40219.1 $(SolutionDir)bin\ + $(SolutionDir)bin\ + $(SolutionDir)bin\ $(SolutionDir)bin\ $(SolutionDir)temp\gamebox\$(Configuration)\ + $(SolutionDir)temp\gamebox\$(Configuration)\ + $(SolutionDir)temp\gamebox\$(Configuration)\ $(SolutionDir)temp\gamebox\$(Configuration)\ true + true + true true $(SolutionDir)bin\ + $(SolutionDir)bin\ + $(SolutionDir)bin\ $(SolutionDir)bin\ $(SolutionDir)temp\gamebox\$(Configuration)\ + $(SolutionDir)temp\gamebox\$(Configuration)\ + $(SolutionDir)temp\gamebox\$(Configuration)\ $(SolutionDir)temp\gamebox\$(Configuration)\ false + false + false false AllRules.ruleset + AllRules.ruleset + AllRules.ruleset AllRules.ruleset + + + + AllRules.ruleset + AllRules.ruleset + AllRules.ruleset AllRules.ruleset + + + + $(ProjectName)_d + $(ProjectName)_d + $(ProjectName)_d $(ProjectName)_d $(ProjectName) + $(ProjectName) + $(ProjectName) $(ProjectName) @@ -142,6 +222,84 @@ .\Debug/GameBox.bsc + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/GameBox.tlb + + + + + Disabled + WIN32;_DEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + stdafx.h + true + Level3 + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + true + true + Windows + MachineX86 + + + true + .\Debug/GameBox.bsc + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/GameBox.tlb + + + + + Disabled + WIN32;_DEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + stdafx.h + true + Level3 + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + true + true + Windows + MachineX86 + + + true + .\Debug/GameBox.bsc + + _DEBUG;%(PreprocessorDefinitions) @@ -219,6 +377,82 @@ .\Release/GameBox.bsc + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/GameBox.tlb + + + + + MinSpace + OnlyExplicitInline + WIN32;NDEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + Windows + MachineX86 + + + + + true + .\Release/GameBox.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/GameBox.tlb + + + + + MinSpace + OnlyExplicitInline + WIN32;NDEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + Windows + MachineX86 + + + + + true + .\Release/GameBox.bsc + + NDEBUG;%(PreprocessorDefinitions) @@ -263,24 +497,40 @@ NotUsing + NotUsing + NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) %(PreprocessorDefinitions) Create + Create + Create Create %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) %(PreprocessorDefinitions) Create + Create + Create Create NotUsing + NotUsing + NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing diff --git a/Demos/transwnd/transwnd.vcxproj b/Demos/transwnd/transwnd.vcxproj index 431399e8..4484f798 100644 --- a/Demos/transwnd/transwnd.vcxproj +++ b/Demos/transwnd/transwnd.vcxproj @@ -17,6 +17,22 @@ Release Win32 + + SDebugA + Win32 + + + SDebug + Win32 + + + SReleaseA + Win32 + + + SRelease + Win32 + transwnd @@ -37,6 +53,16 @@ false Unicode + + Application + false + Unicode + + + Application + false + MultiByte + Application false @@ -47,6 +73,16 @@ false Unicode + + Application + false + Unicode + + + Application + false + MultiByte + Application false @@ -59,6 +95,14 @@ + + + + + + + + @@ -67,6 +111,14 @@ + + + + + + + + @@ -75,32 +127,60 @@ <_ProjectFileVersion>10.0.40219.1 $(SolutionDir)bin\ + $(SolutionDir)bin\ + $(SolutionDir)bin\ $(SolutionDir)bin\ $(SolutionDir)temp\transwnd\$(Configuration)\ + $(SolutionDir)temp\transwnd\$(Configuration)\ + $(SolutionDir)temp\transwnd\$(Configuration)\ $(SolutionDir)temp\transwnd\$(Configuration)\ true + true + true true $(SolutionDir)bin\ + $(SolutionDir)bin\ + $(SolutionDir)bin\ $(SolutionDir)bin\ $(SolutionDir)temp\transwnd\$(Configuration)\ + $(SolutionDir)temp\transwnd\$(Configuration)\ + $(SolutionDir)temp\transwnd\$(Configuration)\ $(SolutionDir)temp\transwnd\$(Configuration)\ false + false + false false AllRules.ruleset + AllRules.ruleset + AllRules.ruleset AllRules.ruleset + + + + AllRules.ruleset + AllRules.ruleset + AllRules.ruleset AllRules.ruleset + + + + $(ProjectName)_d + $(ProjectName)_d + $(ProjectName)_d $(ProjectName)_d $(ProjectName) + $(ProjectName) + $(ProjectName) $(ProjectName) @@ -141,6 +221,82 @@ true + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/transwnd.tlb + + + + + Disabled + WIN32;_DEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + stdafx.h + true + Level3 + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + true + true + Windows + MachineX86 + + + true + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/transwnd.tlb + + + + + Disabled + WIN32;_DEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + stdafx.h + true + Level3 + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + true + true + Windows + MachineX86 + + + true + + _DEBUG;%(PreprocessorDefinitions) @@ -215,6 +371,80 @@ true + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/transwnd.tlb + + + + + MinSpace + OnlyExplicitInline + WIN32;NDEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + Windows + MachineX86 + + + + + true + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/transwnd.tlb + + + + + MinSpace + OnlyExplicitInline + WIN32;NDEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + Windows + MachineX86 + + + + + true + + NDEBUG;%(PreprocessorDefinitions) @@ -256,12 +486,20 @@ %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) %(PreprocessorDefinitions) Create + Create + Create Create %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) %(PreprocessorDefinitions) Create + Create + Create Create diff --git a/Demos/xlgamebox/XLGameBox.vcxproj b/Demos/xlgamebox/XLGameBox.vcxproj index 797276db..0be92b7d 100644 --- a/Demos/xlgamebox/XLGameBox.vcxproj +++ b/Demos/xlgamebox/XLGameBox.vcxproj @@ -9,6 +9,22 @@ Release Win32 + + SDebugA + Win32 + + + SDebug + Win32 + + + SReleaseA + Win32 + + + SRelease + Win32 + XLGameBox @@ -29,11 +45,31 @@ false Unicode + + Application + false + Unicode + + + Application + false + MultiByte + Application false Unicode + + Application + false + Unicode + + + Application + false + MultiByte + @@ -41,27 +77,71 @@ + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.40219.1 $(SolutionDir)bin\ + $(SolutionDir)bin\ + $(SolutionDir)bin\ $(SolutionDir)temp\XLGameBox\release\ + $(SolutionDir)temp\XLGameBox\release\ + $(SolutionDir)temp\XLGameBox\release\ true + true + true $(SolutionDir)bin\ + $(SolutionDir)bin\ + $(SolutionDir)bin\ $(SolutionDir)temp\XLGameBox\release\ + $(SolutionDir)temp\XLGameBox\release\ + $(SolutionDir)temp\XLGameBox\release\ false + false + false AllRules.ruleset + AllRules.ruleset + AllRules.ruleset + + + + AllRules.ruleset + AllRules.ruleset + AllRules.ruleset + + + + $(ProjectName)_d + $(ProjectName)_d + $(ProjectName)_d $(ProjectName) + $(ProjectName) + $(ProjectName) @@ -102,6 +182,84 @@ .\Debug/XLGameBox.bsc + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/XLGameBox.tlb + + + + + Disabled + WIN32;_DEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + stdafx.h + true + Level3 + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + true + true + Windows + MachineX86 + + + true + .\Debug/XLGameBox.bsc + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/XLGameBox.tlb + + + + + Disabled + WIN32;_DEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + stdafx.h + true + Level3 + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + true + true + Windows + MachineX86 + + + true + .\Debug/XLGameBox.bsc + + NDEBUG;%(PreprocessorDefinitions) @@ -139,6 +297,82 @@ .\Release/XLGameBox.bsc + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/XLGameBox.tlb + + + + + MinSpace + OnlyExplicitInline + WIN32;NDEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + Windows + MachineX86 + + + + + true + .\Release/XLGameBox.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/XLGameBox.tlb + + + + + MinSpace + OnlyExplicitInline + WIN32;NDEBUG;UILIB_STATIC;_WINDOWS;%(PreprocessorDefinitions) + true + MultiThreaded + true + Use + stdafx.h + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + Windows + MachineX86 + + + + + true + .\Release/XLGameBox.bsc + + @@ -147,17 +381,33 @@ NotUsing + NotUsing + NotUsing NotUsing + NotUsing + NotUsing %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) Create + Create + Create %(PreprocessorDefinitions) + %(PreprocessorDefinitions) + %(PreprocessorDefinitions) Create + Create + Create NotUsing + NotUsing + NotUsing NotUsing + NotUsing + NotUsing diff --git a/DuiLib.sln b/DuiLib.sln index dc39d17c..4a3bd446 100644 --- a/DuiLib.sln +++ b/DuiLib.sln @@ -26,6 +26,10 @@ Global DebugA|Win32 = DebugA|Win32 Release|Win32 = Release|Win32 ReleaseA|Win32 = ReleaseA|Win32 + SDebug|Win32 = SDebug|Win32 + SDebugA|Win32 = SDebugA|Win32 + SRelease|Win32 = SRelease|Win32 + SReleaseA|Win32 = SReleaseA|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -36,6 +40,14 @@ Global {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.Release|Win32.Build.0 = Release|Win32 {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.ReleaseA|Win32.ActiveCfg = ReleaseA|Win32 {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.ReleaseA|Win32.Build.0 = ReleaseA|Win32 + {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.SDebug|Win32.ActiveCfg = SDebug|Win32 + {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.SDebug|Win32.Build.0 = SDebug|Win32 + {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.SDebugA|Win32.ActiveCfg = SDebugA|Win32 + {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.SDebugA|Win32.Build.0 = SDebugA|Win32 + {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.SRelease|Win32.ActiveCfg = SRelease|Win32 + {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.SRelease|Win32.Build.0 = SRelease|Win32 + {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.SReleaseA|Win32.ActiveCfg = SReleaseA|Win32 + {E106ACD7-4E53-4AEE-942B-D0DD426DB34E}.SReleaseA|Win32.Build.0 = SReleaseA|Win32 {565089A1-60C0-4281-99D7-A459E7354EEF}.Debug|Win32.ActiveCfg = Debug|Win32 {565089A1-60C0-4281-99D7-A459E7354EEF}.Debug|Win32.Build.0 = Debug|Win32 {565089A1-60C0-4281-99D7-A459E7354EEF}.DebugA|Win32.ActiveCfg = DebugA|Win32 @@ -44,6 +56,14 @@ Global {565089A1-60C0-4281-99D7-A459E7354EEF}.Release|Win32.Build.0 = Release|Win32 {565089A1-60C0-4281-99D7-A459E7354EEF}.ReleaseA|Win32.ActiveCfg = ReleaseA|Win32 {565089A1-60C0-4281-99D7-A459E7354EEF}.ReleaseA|Win32.Build.0 = ReleaseA|Win32 + {565089A1-60C0-4281-99D7-A459E7354EEF}.SDebug|Win32.ActiveCfg = SDebug|Win32 + {565089A1-60C0-4281-99D7-A459E7354EEF}.SDebug|Win32.Build.0 = SDebug|Win32 + {565089A1-60C0-4281-99D7-A459E7354EEF}.SDebugA|Win32.ActiveCfg = SDebugA|Win32 + {565089A1-60C0-4281-99D7-A459E7354EEF}.SDebugA|Win32.Build.0 = SDebugA|Win32 + {565089A1-60C0-4281-99D7-A459E7354EEF}.SRelease|Win32.ActiveCfg = SRelease|Win32 + {565089A1-60C0-4281-99D7-A459E7354EEF}.SRelease|Win32.Build.0 = SRelease|Win32 + {565089A1-60C0-4281-99D7-A459E7354EEF}.SReleaseA|Win32.ActiveCfg = SReleaseA|Win32 + {565089A1-60C0-4281-99D7-A459E7354EEF}.SReleaseA|Win32.Build.0 = SReleaseA|Win32 {54019823-E923-44D0-AD60-8EB636D107DC}.Debug|Win32.ActiveCfg = Debug|Win32 {54019823-E923-44D0-AD60-8EB636D107DC}.Debug|Win32.Build.0 = Debug|Win32 {54019823-E923-44D0-AD60-8EB636D107DC}.DebugA|Win32.ActiveCfg = DebugA|Win32 @@ -52,6 +72,14 @@ Global {54019823-E923-44D0-AD60-8EB636D107DC}.Release|Win32.Build.0 = Release|Win32 {54019823-E923-44D0-AD60-8EB636D107DC}.ReleaseA|Win32.ActiveCfg = ReleaseA|Win32 {54019823-E923-44D0-AD60-8EB636D107DC}.ReleaseA|Win32.Build.0 = ReleaseA|Win32 + {54019823-E923-44D0-AD60-8EB636D107DC}.SDebug|Win32.ActiveCfg = SDebug|Win32 + {54019823-E923-44D0-AD60-8EB636D107DC}.SDebug|Win32.Build.0 = SDebug|Win32 + {54019823-E923-44D0-AD60-8EB636D107DC}.SDebugA|Win32.ActiveCfg = SDebugA|Win32 + {54019823-E923-44D0-AD60-8EB636D107DC}.SDebugA|Win32.Build.0 = SDebugA|Win32 + {54019823-E923-44D0-AD60-8EB636D107DC}.SRelease|Win32.ActiveCfg = SRelease|Win32 + {54019823-E923-44D0-AD60-8EB636D107DC}.SRelease|Win32.Build.0 = SRelease|Win32 + {54019823-E923-44D0-AD60-8EB636D107DC}.SReleaseA|Win32.ActiveCfg = SReleaseA|Win32 + {54019823-E923-44D0-AD60-8EB636D107DC}.SReleaseA|Win32.Build.0 = SReleaseA|Win32 {3EF9795D-3509-4664-8E73-8D315CC0B944}.Debug|Win32.ActiveCfg = Debug|Win32 {3EF9795D-3509-4664-8E73-8D315CC0B944}.Debug|Win32.Build.0 = Debug|Win32 {3EF9795D-3509-4664-8E73-8D315CC0B944}.DebugA|Win32.ActiveCfg = DebugA|Win32 @@ -60,6 +88,14 @@ Global {3EF9795D-3509-4664-8E73-8D315CC0B944}.Release|Win32.Build.0 = Release|Win32 {3EF9795D-3509-4664-8E73-8D315CC0B944}.ReleaseA|Win32.ActiveCfg = ReleaseA|Win32 {3EF9795D-3509-4664-8E73-8D315CC0B944}.ReleaseA|Win32.Build.0 = ReleaseA|Win32 + {3EF9795D-3509-4664-8E73-8D315CC0B944}.SDebug|Win32.ActiveCfg = SDebug|Win32 + {3EF9795D-3509-4664-8E73-8D315CC0B944}.SDebug|Win32.Build.0 = SDebug|Win32 + {3EF9795D-3509-4664-8E73-8D315CC0B944}.SDebugA|Win32.ActiveCfg = SDebugA|Win32 + {3EF9795D-3509-4664-8E73-8D315CC0B944}.SDebugA|Win32.Build.0 = SDebugA|Win32 + {3EF9795D-3509-4664-8E73-8D315CC0B944}.SRelease|Win32.ActiveCfg = SRelease|Win32 + {3EF9795D-3509-4664-8E73-8D315CC0B944}.SRelease|Win32.Build.0 = SRelease|Win32 + {3EF9795D-3509-4664-8E73-8D315CC0B944}.SReleaseA|Win32.ActiveCfg = SReleaseA|Win32 + {3EF9795D-3509-4664-8E73-8D315CC0B944}.SReleaseA|Win32.Build.0 = SReleaseA|Win32 {2C0EADA2-111E-4D58-B171-B1C896D7A0DE}.Debug|Win32.ActiveCfg = Debug|Win32 {2C0EADA2-111E-4D58-B171-B1C896D7A0DE}.Debug|Win32.Build.0 = Debug|Win32 {2C0EADA2-111E-4D58-B171-B1C896D7A0DE}.DebugA|Win32.ActiveCfg = DebugA|Win32 @@ -68,6 +104,14 @@ Global {2C0EADA2-111E-4D58-B171-B1C896D7A0DE}.Release|Win32.Build.0 = Release|Win32 {2C0EADA2-111E-4D58-B171-B1C896D7A0DE}.ReleaseA|Win32.ActiveCfg = ReleaseA|Win32 {2C0EADA2-111E-4D58-B171-B1C896D7A0DE}.ReleaseA|Win32.Build.0 = ReleaseA|Win32 + {2C0EADA2-111E-4D58-B171-B1C896D7A0DE}.SDebug|Win32.ActiveCfg = SDebug|Win32 + {2C0EADA2-111E-4D58-B171-B1C896D7A0DE}.SDebug|Win32.Build.0 = SDebug|Win32 + {2C0EADA2-111E-4D58-B171-B1C896D7A0DE}.SDebugA|Win32.ActiveCfg = SDebugA|Win32 + {2C0EADA2-111E-4D58-B171-B1C896D7A0DE}.SDebugA|Win32.Build.0 = SDebugA|Win32 + {2C0EADA2-111E-4D58-B171-B1C896D7A0DE}.SRelease|Win32.ActiveCfg = SRelease|Win32 + {2C0EADA2-111E-4D58-B171-B1C896D7A0DE}.SRelease|Win32.Build.0 = SRelease|Win32 + {2C0EADA2-111E-4D58-B171-B1C896D7A0DE}.SReleaseA|Win32.ActiveCfg = SReleaseA|Win32 + {2C0EADA2-111E-4D58-B171-B1C896D7A0DE}.SReleaseA|Win32.Build.0 = SReleaseA|Win32 {0278E09B-92AA-4C18-ACB5-EEDF958395B1}.Debug|Win32.ActiveCfg = Debug|Win32 {0278E09B-92AA-4C18-ACB5-EEDF958395B1}.Debug|Win32.Build.0 = Debug|Win32 {0278E09B-92AA-4C18-ACB5-EEDF958395B1}.DebugA|Win32.ActiveCfg = Debug|Win32 @@ -76,6 +120,14 @@ Global {0278E09B-92AA-4C18-ACB5-EEDF958395B1}.Release|Win32.Build.0 = Release|Win32 {0278E09B-92AA-4C18-ACB5-EEDF958395B1}.ReleaseA|Win32.ActiveCfg = Release|Win32 {0278E09B-92AA-4C18-ACB5-EEDF958395B1}.ReleaseA|Win32.Build.0 = Release|Win32 + {0278E09B-92AA-4C18-ACB5-EEDF958395B1}.SDebug|Win32.ActiveCfg = SDebug|Win32 + {0278E09B-92AA-4C18-ACB5-EEDF958395B1}.SDebug|Win32.Build.0 = SDebug|Win32 + {0278E09B-92AA-4C18-ACB5-EEDF958395B1}.SDebugA|Win32.ActiveCfg = SDebugA|Win32 + {0278E09B-92AA-4C18-ACB5-EEDF958395B1}.SDebugA|Win32.Build.0 = SDebugA|Win32 + {0278E09B-92AA-4C18-ACB5-EEDF958395B1}.SRelease|Win32.ActiveCfg = SRelease|Win32 + {0278E09B-92AA-4C18-ACB5-EEDF958395B1}.SRelease|Win32.Build.0 = SRelease|Win32 + {0278E09B-92AA-4C18-ACB5-EEDF958395B1}.SReleaseA|Win32.ActiveCfg = SReleaseA|Win32 + {0278E09B-92AA-4C18-ACB5-EEDF958395B1}.SReleaseA|Win32.Build.0 = SReleaseA|Win32 {46E0954B-D9BE-48D6-8573-10B4F41E0171}.Debug|Win32.ActiveCfg = Debug|Win32 {46E0954B-D9BE-48D6-8573-10B4F41E0171}.Debug|Win32.Build.0 = Debug|Win32 {46E0954B-D9BE-48D6-8573-10B4F41E0171}.DebugA|Win32.ActiveCfg = Debug|Win32 @@ -84,6 +136,14 @@ Global {46E0954B-D9BE-48D6-8573-10B4F41E0171}.Release|Win32.Build.0 = Release|Win32 {46E0954B-D9BE-48D6-8573-10B4F41E0171}.ReleaseA|Win32.ActiveCfg = Release|Win32 {46E0954B-D9BE-48D6-8573-10B4F41E0171}.ReleaseA|Win32.Build.0 = Release|Win32 + {46E0954B-D9BE-48D6-8573-10B4F41E0171}.SDebug|Win32.ActiveCfg = SDebug|Win32 + {46E0954B-D9BE-48D6-8573-10B4F41E0171}.SDebug|Win32.Build.0 = SDebug|Win32 + {46E0954B-D9BE-48D6-8573-10B4F41E0171}.SDebugA|Win32.ActiveCfg = SDebugA|Win32 + {46E0954B-D9BE-48D6-8573-10B4F41E0171}.SDebugA|Win32.Build.0 = SDebugA|Win32 + {46E0954B-D9BE-48D6-8573-10B4F41E0171}.SRelease|Win32.ActiveCfg = SRelease|Win32 + {46E0954B-D9BE-48D6-8573-10B4F41E0171}.SRelease|Win32.Build.0 = SRelease|Win32 + {46E0954B-D9BE-48D6-8573-10B4F41E0171}.SReleaseA|Win32.ActiveCfg = SReleaseA|Win32 + {46E0954B-D9BE-48D6-8573-10B4F41E0171}.SReleaseA|Win32.Build.0 = SReleaseA|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/DuiLib.suo b/DuiLib.suo index 48e221e6cac628f3a7b6c7ef64b38fcb99f70432..ce78bb496c30b0df35c562aa6d0a992ae7acf61a 100644 GIT binary patch delta 9270 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 if( pHeader != NULL && pHeader->GetCount() > 0 ) { cxNeeded = MAX(0, pHeader->EstimateSize(CDuiSize(rc.right - rc.left, rc.bottom - rc.top)).cx); - if ( m_pVerticalScrollBar && m_pVerticalScrollBar->IsVisible()) + if ( m_pHorizontalScrollBar && m_pHorizontalScrollBar->IsVisible()) { + int nOffset = m_pHorizontalScrollBar->GetScrollPos(); RECT rcHeader = pHeader->GetPos(); + rcHeader.left = rc.left - nOffset; pHeader->SetPos(rcHeader); } } @@ -2473,7 +2475,23 @@ void CListContainerElementUI::DoEvent(TEventUI& event) } return; } - + if( event.Type == UIEVENT_TIMER ) + { + m_pManager->SendNotify(this, DUI_MSGTYPE_TIMER, event.wParam, event.lParam); + return; + } + if( event.Type == UIEVENT_TIMER ) + { + m_pManager->SendNotify(this, DUI_MSGTYPE_TIMER, event.wParam, event.lParam); + return; + } + if( event.Type == UIEVENT_CONTEXTMENU ) + { + if( IsContextMenuUsed() ) { + m_pManager->SendNotify(this, DUI_MSGTYPE_MENU, event.wParam, event.lParam); + return; + } + } // An important twist: The list-item will send the event not to its immediate // parent but to the "attached" list. A list may actually embed several components // in its path to the item, but key-presses etc. needs to go to the actual list. diff --git a/DuiLib/Control/UIMenu.cpp b/DuiLib/Control/UIMenu.cpp index d6bdc087..13016276 100644 --- a/DuiLib/Control/UIMenu.cpp +++ b/DuiLib/Control/UIMenu.cpp @@ -234,7 +234,7 @@ void CMenuWnd::OnFinalMessage(HWND hWnd) m_pOwner->m_uButtonState &= ~ UISTATE_PUSHED; m_pOwner->Invalidate(); } - delete this; + //delete this; } LRESULT CMenuWnd::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) @@ -716,7 +716,6 @@ SIZE CMenuElementUI::EstimateSize(SIZE szAvailable) void CMenuElementUI::DoEvent(TEventUI& event) { - if( event.Type == UIEVENT_MOUSEENTER ) { CListContainerElementUI::DoEvent(event); @@ -773,9 +772,16 @@ void CMenuElementUI::DoEvent(TEventUI& event) SetChecked(!GetChecked()); if (CMenuWnd::GetGlobalContextMenuObserver().GetManager() != NULL) { - CDuiString* strPost = new CDuiString(GetName().GetData()); - if (!PostMessage(CMenuWnd::GetGlobalContextMenuObserver().GetManager()->GetPaintWindow(), WM_MENUCLICK, (WPARAM)(strPost), (LPARAM)(GetChecked() == TRUE))) - delete strPost; + MenuCmd* pMenuCmd = new MenuCmd(); + lstrcpy(pMenuCmd->szName, GetName().GetData()); + lstrcpy(pMenuCmd->szUserData, GetUserData().GetData()); + lstrcpy(pMenuCmd->szText, GetText().GetData()); + pMenuCmd->bChecked = GetChecked(); + if (!PostMessage(CMenuWnd::GetGlobalContextMenuObserver().GetManager()->GetPaintWindow(), WM_MENUCLICK, (WPARAM)pMenuCmd, NULL)) + { + delete pMenuCmd; + pMenuCmd = NULL; + } } ContextMenuParam param; param.hWnd = m_pManager->GetPaintWindow(); diff --git a/DuiLib/Control/UIMenu.h b/DuiLib/Control/UIMenu.h index e953e217..b51ab3b2 100644 --- a/DuiLib/Control/UIMenu.h +++ b/DuiLib/Control/UIMenu.h @@ -16,6 +16,14 @@ struct ContextMenuParam HWND hWnd; }; +struct MenuCmd +{ + TCHAR szName[256]; + TCHAR szUserData[1024]; + TCHAR szText[1024]; + BOOL bChecked; +}; + enum MenuAlignment { eMenuAlignment_Left = 1 << 1, diff --git a/DuiLib/DuiLib.vcxproj b/DuiLib/DuiLib.vcxproj index 54c82d0f..580e62a5 100644 --- a/DuiLib/DuiLib.vcxproj +++ b/DuiLib/DuiLib.vcxproj @@ -17,6 +17,22 @@ Release Win32 + + SDebugA + Win32 + + + SDebug + Win32 + + + SReleaseA + Win32 + + + SRelease + Win32 + {E106ACD7-4E53-4AEE-942B-D0DD426DB34E} @@ -27,6 +43,14 @@ DynamicLibrary Unicode + + StaticLibrary + Unicode + + + StaticLibrary + MultiByte + DynamicLibrary MultiByte @@ -35,6 +59,14 @@ DynamicLibrary Unicode + + StaticLibrary + Unicode + + + StaticLibrary + MultiByte + DynamicLibrary MultiByte @@ -46,6 +78,14 @@ + + + + + + + + @@ -54,6 +94,14 @@ + + + + + + + + @@ -62,40 +110,75 @@ <_ProjectFileVersion>10.0.30319.1 false + false + false false false + false + false false false + false + false false false + false + false false false + false + false false false + false + false false AllRules.ruleset + AllRules.ruleset + AllRules.ruleset AllRules.ruleset + + + + AllRules.ruleset + AllRules.ruleset + AllRules.ruleset AllRules.ruleset + + + + $(ProjectName)_d + $(ProjectName)_d + $(ProjectName)A_d $(ProjectName)A_d $(SolutionDir)Temp\$(Configuration)\ + $(SolutionDir)Temp\$(Configuration)\ + $(SolutionDir)Temp\$(Configuration)\ $(SolutionDir)Temp\$(Configuration)\ $(SolutionDir)Temp\$(Configuration)\ + $(SolutionDir)Temp\$(Configuration)\ + $(SolutionDir)Temp\$(Configuration)\ $(SolutionDir)Temp\$(Configuration)\ $(SolutionDir)Bin\ + $(SolutionDir)Lib\ + $(SolutionDir)Lib\ $(SolutionDir)Bin\ $(SolutionDir)Bin\ + $(SolutionDir)Lib\ + $(SolutionDir)Lib\ $(SolutionDir)Bin\ $(ProjectName)A + $(ProjectName)A @@ -134,6 +217,80 @@ true + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/DuiLib.tlb + + + + + Disabled + WIN32;_DEBUG;_WINDOWS;UILIB_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + Level3 + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + true + true + $(OutDir)$(TargetName).pdb + 0x11000000 + MachineX86 + $(SolutionDir)Lib\$(ProjectName)_d.lib + + + true + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/DuiLib.tlb + + + + + Disabled + WIN32;_DEBUG;_WINDOWS;UILIB_STATIC;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + Use + Level3 + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + true + true + $(OutDir)$(TargetName).pdb + 0x11000000 + MachineX86 + $(SolutionDir)Lib\$(ProjectName)_d.lib + + + true + + _DEBUG;%(PreprocessorDefinitions) @@ -190,7 +347,81 @@ Use Level3 true - MultiThreadedDLL + MultiThreaded + + + NDEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + 0x11000000 + MachineX86 + $(OutDir)$(TargetName).pdb + $(SolutionDir)Lib\$(ProjectName).lib + true + + + true + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/DuiLib.tlb + + + + + MinSpace + OnlyExplicitInline + WIN32;NDEBUG;_WINDOWS;UILIB_STATIC;%(PreprocessorDefinitions) + true + true + Use + Level3 + true + MultiThreaded + + + NDEBUG;%(PreprocessorDefinitions) + 0x0406 + + + true + 0x11000000 + MachineX86 + $(OutDir)$(TargetName).pdb + $(SolutionDir)Lib\$(ProjectName).lib + true + + + true + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/DuiLib.tlb + + + + + MinSpace + OnlyExplicitInline + WIN32;NDEBUG;_WINDOWS;UILIB_STATIC;%(PreprocessorDefinitions) + true + true + Use + Level3 + true + MultiThreaded NDEBUG;%(PreprocessorDefinitions) @@ -251,8 +482,12 @@ Create + Create + Create Create Create + Create + Create Create @@ -261,10 +496,18 @@ + + + + + + + + @@ -273,10 +516,18 @@ + + + + + + + + diff --git a/DuiLib/UIlib.h b/DuiLib/UIlib.h index b2b1dbb2..afe7192c 100644 --- a/DuiLib/UIlib.h +++ b/DuiLib/UIlib.h @@ -1,3 +1,6 @@ +#ifdef UILIB_STATIC +#define UILIB_API +#else #if defined(UILIB_EXPORTS) # if defined(_MSC_VER) # define UILIB_API __declspec(dllexport) @@ -11,7 +14,7 @@ # define UILIB_API # endif #endif - +#endif #define UILIB_COMDAT __declspec(selectany) #if defined _M_IX86 @@ -85,4 +88,6 @@ #include "Control/UIMenu.h" -#pragma comment(lib,"gdiplus.lib") \ No newline at end of file +#pragma comment( lib, "comctl32.lib" ) +#pragma comment( lib, "GdiPlus.lib" ) +#pragma comment( lib, "Imm32.lib" ) \ No newline at end of file diff --git a/bin/skin/duidemo/main.xml b/bin/skin/duidemo/main.xml index 885f6ae8..fc9c7764 100644 --- a/bin/skin/duidemo/main.xml +++ b/bin/skin/duidemo/main.xml @@ -15,13 +15,14 @@