增加对圆环形滚动条的支持

This commit is contained in:
xuhuajie-NetEase 2019-08-14 16:03:11 +08:00
parent f46eca3a61
commit 0e7f1b6462
9 changed files with 1071 additions and 759 deletions

View File

@ -57,7 +57,13 @@
<Slider class="slider_green" value="70" margin="10"/>
</HBox>
</VBox>
<VBox width="120">
<CircleProgress name="circleprogress" circular="true" height="80" width="80"
circlewidth="10" bgcolor="gray" fgcolor="green" clockwise="true" min="1" max="100" value="75" margin="10"
textpadding="10,32,10,10" normaltextcolor="darkcolor" indicator="logo_18x18.png"/>
</VBox>
</HBox>
<Control class="splitline_hor_level1"/>
<!-- RichEdit -->
<RichEdit class="prompt" name="edit" bkcolor="bk_wnd_lightcolor" width="stretch" height="stretch"

View File

@ -154,4 +154,9 @@ void ControlForm::OnProgressValueChagned(float value)
{
auto progress = dynamic_cast<ui::Progress*>(FindControl(L"progress"));
progress->SetValue(value);
auto circleprogress = dynamic_cast<ui::Progress*>(FindControl(L"circleprogress"));
circleprogress->SetValue(value);
TCHAR szBuffer[32] = {0};
swprintf_s(szBuffer, _T("%.0f%%"), value);
circleprogress->SetText(szBuffer);
}

View File

@ -0,0 +1,206 @@
#include "stdafx.h"
#include "CircleProgress.h"
#include "shlwapi.h"
namespace ui
{
CircleProgress::CircleProgress() :
m_bCircular(true),
m_bClockwise(true),
m_nCircleWidth(1),
m_dwBackgroundColor(0),
m_dwForegroundColor(0),
m_dwGradientColor(0),
m_pIndicator(nullptr)
{
}
void CircleProgress::SetAttribute(const std::wstring& srName, const std::wstring& strValue)
{
if (srName == _T("circular")) SetCircular(strValue == _T("true"));
else if (srName == _T("circlewidth")) SetCircleWidth(_ttoi(strValue.c_str()));
else if (srName == _T("indicator")) SetIndicator(strValue);
else if (srName == _T("clockwise")) SetClockwiseRotation(strValue == _T("true"));
else if (srName == _T("bgcolor")) {
LPCTSTR pValue = strValue.c_str();
while (*pValue > _T('\0') && *pValue <= _T(' ')) pValue = ::CharNext(pValue);
SetBackgroudColor(pValue);
}
else if (srName == _T("fgcolor")) {
LPCTSTR pValue = strValue.c_str();
while (*pValue > _T('\0') && *pValue <= _T(' ')) pValue = ::CharNext(pValue);
SetForegroudColor(pValue);
}
else if (srName == _T("gradientcolor")) {
LPCTSTR pValue = strValue.c_str();
while (*pValue > _T('\0') && *pValue <= _T(' ')) pValue = ::CharNext(pValue);
SetCircleGradientColor(pValue);
}
else Progress::SetAttribute(srName, strValue);
}
void CircleProgress::PaintStatusImage(IRenderContext* pRender)
{
Progress::PaintStatusImage(pRender);
if (m_bCircular)
{
//目前IRenderContext还有很多GDI+接口未实现暂时直接用gdi+画图了
//以后可能会调整需实现1、DrawArc 2、Pen增加brush(渐变)入参 3、可以自由设置Graphics属性
int direction = m_bClockwise ? 1 : -1; //旋转方向
int bordersize = 1; //弧度宽度目前使用1像素
Gdiplus::Graphics graphics(pRender->GetDC());
graphics.SetSmoothingMode(Gdiplus::SmoothingModeAntiAlias);
Gdiplus::Pen bgPen(m_dwBackgroundColor, m_nCircleWidth);
// 圆形中心
CPoint center;
center.x = m_rcItem.left + (m_rcItem.right - m_rcItem.left) / 2;
center.y = m_rcItem.top + (m_rcItem.bottom - m_rcItem.top) / 2;
// 控件矩形内的最大正方形的边界
int side = min(m_rcItem.right - m_rcItem.left, m_rcItem.bottom - m_rcItem.top);
//UiRect rcBorder; 仍然存在UiRect 到 RectF的转换所以直接用gdi的RectF了
Gdiplus::RectF rcBorder;
rcBorder.X = center.x - side / 2;
rcBorder.Y = center.y - side / 2;
rcBorder.Width = rcBorder.Height = side;
Gdiplus::RectF outer = rcBorder;
if (m_pIndicator) {
outer.Inflate(-1.0F *m_pIndicator->GetWidth() / 2, -1.0F * m_pIndicator->GetWidth() / 2);
}
else
{
outer.Inflate(-0.5 * m_nCircleWidth, -0.5 * m_nCircleWidth);
}
outer.Inflate(-1, -1);
if (m_dwGradientColor == 0)
{
//不使用渐变色,直接用前景色铺满
Gdiplus::Pen fgPen(m_dwForegroundColor, m_nCircleWidth);
graphics.DrawArc(&bgPen, outer, 270, 360); //270从最上面开始递增设为0的话是最右边开始
graphics.DrawArc(&fgPen, outer, 270, direction * 360 * (m_nValue - m_nMin) / (m_nMax - m_nMin));
}
else
{
Gdiplus::REAL factors[4] = { 0.0f, 0.4f, 0.6f, 1.0f };
Gdiplus::REAL positions[4] = { 0.0f, 0.2f, 0.8f, 1.0f };
Gdiplus::LinearGradientBrush lgbrush(rcBorder, m_dwForegroundColor, m_dwGradientColor, Gdiplus::LinearGradientModeVertical);
lgbrush.SetBlend(factors, positions, 4);
graphics.DrawArc(&bgPen, outer, 270, 360);
Gdiplus::Pen fgPen(&lgbrush, m_nCircleWidth);
graphics.DrawArc(&fgPen, outer, 270, direction * 360 * (m_nValue - m_nMin) / (m_nMax - m_nMin));
}
//画旋转指示器图标,需要用到矩阵
if (m_pIndicator)
{
Gdiplus::Matrix matrix;
matrix.RotateAt(direction * 360 * (m_nValue - m_nMin) / (m_nMax - m_nMin), Gdiplus::PointF(center.x, center.y), Gdiplus::MatrixOrderAppend);
graphics.SetTransform(&matrix);
Gdiplus::RectF rectf;
rectf.X = center.x - m_pIndicator->GetWidth() / 2;
rectf.Y = outer.Y + bordersize / 2 -m_pIndicator->GetHeight() / 2;
rectf.Width = m_pIndicator->GetWidth();
rectf.Height = m_pIndicator->GetHeight();
graphics.DrawImage(m_pIndicator, rectf);
}
}
}
void CircleProgress::ClearImageCache()
{
__super::ClearImageCache();
if (m_pIndicator)
{
delete m_pIndicator;
m_pIndicator = nullptr;
}
}
void CircleProgress::SetCircular(bool bCircular /*= true*/)
{
m_bCircular = bCircular;
Invalidate();
}
void CircleProgress::SetClockwiseRotation(bool bClockwise /*= true*/)
{
if (bClockwise != m_bClockwise)
{
m_bClockwise = bClockwise;
if (m_pIndicator)
{
//已经旋转了图片,旋转到相反的方向
m_pIndicator->RotateFlip(Gdiplus::Rotate180FlipNone);
}
}
}
void CircleProgress::SetCircleWidth(int nCircleWidth)
{
m_nCircleWidth = nCircleWidth;
Invalidate();
}
void CircleProgress::SetBackgroudColor(const std::wstring& strColor)
{
m_dwBackgroundColor = GlobalManager::GetTextColor(strColor);
ASSERT(m_dwBackgroundColor != 0);
Invalidate();
}
void CircleProgress::SetForegroudColor(const std::wstring& strColor)
{
m_dwForegroundColor = GlobalManager::GetTextColor(strColor);
ASSERT(m_dwForegroundColor != 0);
Invalidate();
}
void CircleProgress::SetIndicator(const std::wstring& sIndicatorImage)
{
if (m_sIndicatorImage != sIndicatorImage)
{
m_sIndicatorImage = sIndicatorImage;
if (m_pIndicator)
{
delete m_pIndicator;
m_pIndicator = nullptr;
}
std::wstring imagepath = m_sIndicatorImage;
if (!::PathFileExistsW(imagepath.c_str())) {
imagepath = GlobalManager::GetResourcePath() + m_pWindow->GetWindowResourcePath() + imagepath;
}
if (!::PathFileExistsW(imagepath.c_str())) {
return;
}
m_pIndicator = new Gdiplus::Image(imagepath.c_str());
Gdiplus::Status state = m_pIndicator->GetLastStatus();
if (Gdiplus::Ok == state)
{
// 假定图片指向上
m_pIndicator->RotateFlip(m_bClockwise ? Gdiplus::Rotate90FlipNone : Gdiplus::Rotate270FlipNone);
Invalidate();
}
}
}
void CircleProgress::SetCircleGradientColor(const std::wstring& strColor)
{
m_dwGradientColor = GlobalManager::GetTextColor(strColor);
ASSERT(m_dwGradientColor != 0);
Invalidate();
}
}

View File

@ -0,0 +1,84 @@
/** @file CircleProgress.h
* @brief 85%
* @copyright (c) 2019-2022, NetEase Inc. All rights reserved
* @author Xuhuajie
* @date 2019/8/14
*/
#ifndef UI_CONTROL_CIRCLEPROGRESS_H_
#define UI_CONTROL_CIRCLEPROGRESS_H_
#pragma once
namespace ui
{
class UILIB_API CircleProgress : public Progress
{
public:
CircleProgress();
/// 重写父类方法,提供个性化功能,请参考父类声明
virtual void SetAttribute(const std::wstring& strName, const std::wstring& strValue) override;
virtual void PaintStatusImage(IRenderContext* pRender) override;
virtual void ClearImageCache() override;
/**
* @brief
* @param[in] bCircular true false true
* @return
*/
void SetCircular(bool bCircular = true);
/**
* @brief
* @param[in] bClockwise true false true
* @return
*/
void SetClockwiseRotation(bool bClockwise = true);
/**
* @brief
* @param[in] nCircleWidth
* @return
*/
void SetCircleWidth(int nCircleWidth);
/**
* @brief
* @param[in] strColor要设置的背景颜色字符串 global.xml
* @return
*/
void SetBackgroudColor(const std::wstring& strColor);
/**
* @brief
* @param[in] strColor要设置的前景颜色字符串 global.xml
* @return
*/
void SetForegroudColor(const std::wstring& strColor);
/**
* @brief ForegroudColor同时使用,
* @param[in] strColor要设置的前景渐变颜色字符串 global.xml
* @return
*/
void SetCircleGradientColor(const std::wstring& strColor);
/**
* @brief
* @param[in] sIndicatorImage要设置的图片
* @return
*/
void SetIndicator(const std::wstring& sIndicatorImage);
protected:
bool m_bCircular;
bool m_bClockwise;
int m_nCircleWidth;
DWORD m_dwBackgroundColor;
DWORD m_dwForegroundColor;
DWORD m_dwGradientColor;
//Image m_IndicatorImage; //使用image对象无法满足需求需要设置矩阵变换
Gdiplus::Image* m_pIndicator; //此类目前维护资源管理
std::wstring m_sIndicatorImage;
};
} // namespace ui
#endif // UI_CONTROL_CIRCLEPROGRESS_H_

View File

@ -239,6 +239,7 @@ EventType StringToEnum(const std::wstring& messageType);
#define DUI_CTR_COMBO (_T("Combo"))
#define DUI_CTR_SLIDER (_T("Slider"))
#define DUI_CTR_PROGRESS (_T("Progress"))
#define DUI_CTR_CIRCLEPROGRESS (_T("CircleProgress"))
#define DUI_CTR_SCROLLBAR (_T("ScrollBar"))
}// namespace ui

View File

@ -493,6 +493,7 @@ Control* WindowBuilder::CreateControlByClass(const std::wstring& strControlClass
break;
case 14:
if (strControlClass == DUI_CTR_VIRTUALLISTBOX) pControl = new VirtualListBox;
else if (strControlClass == DUI_CTR_CIRCLEPROGRESS) pControl = new CircleProgress;
break;
case 15:
break;

View File

@ -127,6 +127,7 @@
#include "Control/Option.h"
#include "Control/Progress.h"
#include "Control/CircleProgress.h"
#include "Control/Slider.h"
#include "Control/RichEdit.h"

View File

@ -1,420 +1,422 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{E106ACD7-4E53-4AEE-942B-D0DD426DB34E}</ProjectGuid>
<RootNamespace>duilib</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\libs\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\tmp\$(PlatformName)\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</GenerateManifest>
<EmbedManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</EmbedManifest>
<EmbedManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</EmbedManifest>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)..\..\libs\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)..\..\tmp\$(PlatformName)\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</GenerateManifest>
<EmbedManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</EmbedManifest>
<EmbedManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</EmbedManifest>
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)_d</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectName)_d</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(ProjectDir)..\..\libs\x64\</OutDir>
<IntDir>$(ProjectDir)..\..\tmp\$(PlatformName)\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(ProjectDir)..\..\libs\x64\</OutDir>
<IntDir>$(ProjectDir)..\..\tmp\$(PlatformName)\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\Debug/duilib.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<TreatWarningAsError>false</TreatWarningAsError>
<DisableSpecificWarnings>4100;4121;4127;4244;4310;4355;4481;4505;4512;4702;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<OutputFile>$(ProjectDir)..\..\..\bin\$(ProjectName)_d.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(ProjectDir)..\..\..\bin\$(TargetName).pdb</ProgramDatabaseFile>
<BaseAddress>0x11000000</BaseAddress>
<ImportLibrary>$(ProjectDir)..\..\..\libs\duilib_d.lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalDependencies>comctl32.lib;gdiplus.lib;msimg32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Debug/duilib.bsc</OutputFile>
</Bscmake>
<Lib>
<AdditionalDependencies>comctl32.lib;gdiplus.lib;msimg32.lib;winmm.lib;imm32.lib;shlwapi.lib</AdditionalDependencies>
<AdditionalOptions>/IGNORE:4006,4221 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TypeLibraryName>.\Debug/duilib.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<TreatWarningAsError>false</TreatWarningAsError>
<DisableSpecificWarnings>4100;4121;4127;4244;4310;4355;4481;4505;4512;4702;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<OutputFile>$(ProjectDir)..\..\..\bin\$(ProjectName)_d.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(ProjectDir)..\..\..\bin\$(TargetName).pdb</ProgramDatabaseFile>
<BaseAddress>0x11000000</BaseAddress>
<ImportLibrary>$(ProjectDir)..\..\..\libs\duilib_d.lib</ImportLibrary>
<AdditionalDependencies>comctl32.lib;gdiplus.lib;msimg32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Debug/duilib.bsc</OutputFile>
</Bscmake>
<Lib>
<AdditionalDependencies>comctl32.lib;gdiplus.lib;msimg32.lib;winmm.lib;imm32.lib;shlwapi.lib</AdditionalDependencies>
<AdditionalOptions>/IGNORE:4006,4221 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\Release/duilib.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WholeProgramOptimization>true</WholeProgramOptimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DisableSpecificWarnings>4100;4121;4127;4244;4310;4355;4481;4505;4512;4702;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0406</Culture>
</ResourceCompile>
<Link>
<OutputFile>$(ProjectDir)..\..\..\bin\$(ProjectName).dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
<BaseAddress>0x11000000</BaseAddress>
<ImportLibrary>$(ProjectDir)..\..\..\libs\duilib.lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
<ProgramDatabaseFile>$(ProjectDir)..\..\..\bin\$(TargetName).pdb</ProgramDatabaseFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>comctl32.lib;gdiplus.lib;msimg32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Release/duilib.bsc</OutputFile>
</Bscmake>
<Lib>
<AdditionalDependencies>comctl32.lib;gdiplus.lib;msimg32.lib;winmm.lib;imm32.lib;shlwapi.lib</AdditionalDependencies>
<AdditionalOptions>/IGNORE:4006,4221 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TypeLibraryName>.\Release/duilib.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WholeProgramOptimization>true</WholeProgramOptimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DisableSpecificWarnings>4100;4121;4127;4244;4310;4355;4481;4505;4512;4702;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0406</Culture>
</ResourceCompile>
<Link>
<OutputFile>$(ProjectDir)..\..\..\bin\$(ProjectName).dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
<BaseAddress>0x11000000</BaseAddress>
<ImportLibrary>$(ProjectDir)..\..\..\libs\duilib.lib</ImportLibrary>
<ProgramDatabaseFile>$(ProjectDir)..\..\..\bin\$(TargetName).pdb</ProgramDatabaseFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>comctl32.lib;gdiplus.lib;msimg32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Release/duilib.bsc</OutputFile>
</Bscmake>
<Lib>
<AdditionalDependencies>comctl32.lib;gdiplus.lib;msimg32.lib;winmm.lib;imm32.lib;shlwapi.lib</AdditionalDependencies>
<AdditionalOptions>/IGNORE:4006,4221 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="Animation\AnimationManager.cpp" />
<ClCompile Include="Animation\AnimationPlayer.cpp" />
<ClCompile Include="Box\ChildBox.cpp">
<PreprocessToFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</PreprocessToFile>
</ClCompile>
<ClCompile Include="Box\HBox.cpp" />
<ClCompile Include="Box\TabBox.cpp" />
<ClCompile Include="Box\TileBox.cpp" />
<ClCompile Include="Box\VBox.cpp" />
<ClCompile Include="Control\VirtualListBox.cpp" />
<ClCompile Include="Core\Define.cpp" />
<ClCompile Include="Core\Image.cpp" />
<ClCompile Include="Core\Placeholder.cpp" />
<ClCompile Include="Render\Bitmap.cpp" />
<ClCompile Include="Render\Brush.cpp" />
<ClCompile Include="Render\Clip.cpp" />
<ClCompile Include="Render\Factory.cpp" />
<ClCompile Include="Render\IRender.cpp" />
<ClCompile Include="Render\Matrix.cpp" />
<ClCompile Include="Render\Path.cpp" />
<ClCompile Include="Render\Pen.cpp" />
<ClCompile Include="Render\Render.cpp" />
<ClCompile Include="StdAfx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="UIlib.cpp" />
<ClCompile Include="Utils\ApiWrapper.cpp" />
<ClCompile Include="Utils\DpiManager.cpp" />
<ClCompile Include="Utils\MultiLangSupport.cpp" />
<ClCompile Include="Utils\OnScreenKeyboardManager.cpp" />
<ClCompile Include="Utils\Shadow.cpp" />
<ClCompile Include="Utils\StringUtil.cpp" />
<ClCompile Include="Utils\TimerManager.cpp" />
<ClCompile Include="Core\Window.cpp" />
<ClCompile Include="Core\Box.cpp" />
<ClCompile Include="Core\Control.cpp" />
<ClCompile Include="Core\WindowBuilder.cpp" />
<ClCompile Include="Core\GlobalManager.cpp" />
<ClCompile Include="Core\Markup.cpp" />
<ClCompile Include="Control\Combo.cpp" />
<ClCompile Include="Control\List.cpp" />
<ClCompile Include="Control\Progress.cpp" />
<ClCompile Include="Control\RichEdit.cpp" />
<ClCompile Include="Control\ScrollBar.cpp" />
<ClCompile Include="Control\Slider.cpp" />
<ClCompile Include="Control\TreeView.cpp" />
<ClCompile Include="Utils\UnZip.cpp" />
<ClCompile Include="Utils\WinImplBase.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Animation\AnimationManager.h" />
<ClInclude Include="Animation\AnimationPlayer.h" />
<ClInclude Include="Box\ChildBox.h" />
<ClInclude Include="Box\HBox.h" />
<ClInclude Include="Box\TabBox.h" />
<ClInclude Include="Box\TileBox.h" />
<ClInclude Include="Box\VBox.h" />
<ClInclude Include="Control\VirtualListBox.h" />
<ClInclude Include="Core\Image.h" />
<ClInclude Include="Core\Placeholder.h" />
<ClInclude Include="Render\Bitmap.h" />
<ClInclude Include="Render\Brush.h" />
<ClInclude Include="Render\Clip.h" />
<ClInclude Include="Render\Factory.h" />
<ClInclude Include="Render\IRender.h" />
<ClInclude Include="Render\Matrix.h" />
<ClInclude Include="Render\Path.h" />
<ClInclude Include="Render\Pen.h" />
<ClInclude Include="Render\Render.h" />
<ClInclude Include="StdAfx.h" />
<ClInclude Include="UIlib.h" />
<ClInclude Include="Utils\ApiWrapper.h" />
<ClInclude Include="Utils\DpiManager.h" />
<ClInclude Include="Utils\Macros.h" />
<ClInclude Include="Utils\MultiLangSupport.h" />
<ClInclude Include="Utils\OnScreenKeyboardManager.h" />
<ClInclude Include="Utils\Shadow.h" />
<ClInclude Include="Utils\StringUtil.h" />
<ClInclude Include="Utils\Delegate.h" />
<ClInclude Include="Utils\TimerManager.h" />
<ClInclude Include="Utils\UnZip.h" />
<ClInclude Include="Utils\Utils.h" />
<ClInclude Include="Utils\VersionHelpers.h" />
<ClInclude Include="Utils\WinImplBase.h" />
<ClInclude Include="Core\Window.h" />
<ClInclude Include="Core\Box.h" />
<ClInclude Include="Core\Control.h" />
<ClInclude Include="Core\Define.h" />
<ClInclude Include="Core\WindowBuilder.h" />
<ClInclude Include="Core\GlobalManager.h" />
<ClInclude Include="Core\Markup.h" />
<ClInclude Include="Control\Button.h" />
<ClInclude Include="Control\CheckBox.h" />
<ClInclude Include="Control\Combo.h" />
<ClInclude Include="Control\Label.h" />
<ClInclude Include="Control\List.h" />
<ClInclude Include="Control\Option.h" />
<ClInclude Include="Control\Progress.h" />
<ClInclude Include="Control\RichEdit.h" />
<ClInclude Include="Control\ScrollBar.h" />
<ClInclude Include="Control\Slider.h" />
<ClInclude Include="Control\TreeView.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{E106ACD7-4E53-4AEE-942B-D0DD426DB34E}</ProjectGuid>
<RootNamespace>duilib</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\libs\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\tmp\$(PlatformName)\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</GenerateManifest>
<EmbedManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</EmbedManifest>
<EmbedManifest Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</EmbedManifest>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)..\..\libs\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)..\..\tmp\$(PlatformName)\$(ProjectName)\$(Configuration)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</GenerateManifest>
<EmbedManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</EmbedManifest>
<EmbedManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</EmbedManifest>
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)_d</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectName)_d</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(ProjectDir)..\..\libs\x64\</OutDir>
<IntDir>$(ProjectDir)..\..\tmp\$(PlatformName)\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(ProjectDir)..\..\libs\x64\</OutDir>
<IntDir>$(ProjectDir)..\..\tmp\$(PlatformName)\$(ProjectName)\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\Debug/duilib.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<TreatWarningAsError>false</TreatWarningAsError>
<DisableSpecificWarnings>4100;4121;4127;4244;4310;4355;4481;4505;4512;4702;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<OutputFile>$(ProjectDir)..\..\..\bin\$(ProjectName)_d.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(ProjectDir)..\..\..\bin\$(TargetName).pdb</ProgramDatabaseFile>
<BaseAddress>0x11000000</BaseAddress>
<ImportLibrary>$(ProjectDir)..\..\..\libs\duilib_d.lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalDependencies>comctl32.lib;gdiplus.lib;msimg32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Debug/duilib.bsc</OutputFile>
</Bscmake>
<Lib>
<AdditionalDependencies>comctl32.lib;gdiplus.lib;msimg32.lib;winmm.lib;imm32.lib;shlwapi.lib</AdditionalDependencies>
<AdditionalOptions>/IGNORE:4006,4221 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TypeLibraryName>.\Debug/duilib.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<TreatWarningAsError>false</TreatWarningAsError>
<DisableSpecificWarnings>4100;4121;4127;4244;4310;4355;4481;4505;4512;4702;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<OutputFile>$(ProjectDir)..\..\..\bin\$(ProjectName)_d.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(ProjectDir)..\..\..\bin\$(TargetName).pdb</ProgramDatabaseFile>
<BaseAddress>0x11000000</BaseAddress>
<ImportLibrary>$(ProjectDir)..\..\..\libs\duilib_d.lib</ImportLibrary>
<AdditionalDependencies>comctl32.lib;gdiplus.lib;msimg32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Debug/duilib.bsc</OutputFile>
</Bscmake>
<Lib>
<AdditionalDependencies>comctl32.lib;gdiplus.lib;msimg32.lib;winmm.lib;imm32.lib;shlwapi.lib</AdditionalDependencies>
<AdditionalOptions>/IGNORE:4006,4221 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\Release/duilib.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WholeProgramOptimization>true</WholeProgramOptimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DisableSpecificWarnings>4100;4121;4127;4244;4310;4355;4481;4505;4512;4702;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0406</Culture>
</ResourceCompile>
<Link>
<OutputFile>$(ProjectDir)..\..\..\bin\$(ProjectName).dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
<BaseAddress>0x11000000</BaseAddress>
<ImportLibrary>$(ProjectDir)..\..\..\libs\duilib.lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
<ProgramDatabaseFile>$(ProjectDir)..\..\..\bin\$(TargetName).pdb</ProgramDatabaseFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>comctl32.lib;gdiplus.lib;msimg32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Release/duilib.bsc</OutputFile>
</Bscmake>
<Lib>
<AdditionalDependencies>comctl32.lib;gdiplus.lib;msimg32.lib;winmm.lib;imm32.lib;shlwapi.lib</AdditionalDependencies>
<AdditionalOptions>/IGNORE:4006,4221 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TypeLibraryName>.\Release/duilib.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<AdditionalIncludeDirectories>.\;..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WholeProgramOptimization>true</WholeProgramOptimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DisableSpecificWarnings>4100;4121;4127;4244;4310;4355;4481;4505;4512;4702;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0406</Culture>
</ResourceCompile>
<Link>
<OutputFile>$(ProjectDir)..\..\..\bin\$(ProjectName).dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
<BaseAddress>0x11000000</BaseAddress>
<ImportLibrary>$(ProjectDir)..\..\..\libs\duilib.lib</ImportLibrary>
<ProgramDatabaseFile>$(ProjectDir)..\..\..\bin\$(TargetName).pdb</ProgramDatabaseFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>comctl32.lib;gdiplus.lib;msimg32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Release/duilib.bsc</OutputFile>
</Bscmake>
<Lib>
<AdditionalDependencies>comctl32.lib;gdiplus.lib;msimg32.lib;winmm.lib;imm32.lib;shlwapi.lib</AdditionalDependencies>
<AdditionalOptions>/IGNORE:4006,4221 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="Animation\AnimationManager.cpp" />
<ClCompile Include="Animation\AnimationPlayer.cpp" />
<ClCompile Include="Box\ChildBox.cpp">
<PreprocessToFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</PreprocessToFile>
</ClCompile>
<ClCompile Include="Box\HBox.cpp" />
<ClCompile Include="Box\TabBox.cpp" />
<ClCompile Include="Box\TileBox.cpp" />
<ClCompile Include="Box\VBox.cpp" />
<ClCompile Include="Control\CircleProgress.cpp" />
<ClCompile Include="Control\VirtualListBox.cpp" />
<ClCompile Include="Core\Define.cpp" />
<ClCompile Include="Core\Image.cpp" />
<ClCompile Include="Core\Placeholder.cpp" />
<ClCompile Include="Render\Bitmap.cpp" />
<ClCompile Include="Render\Brush.cpp" />
<ClCompile Include="Render\Clip.cpp" />
<ClCompile Include="Render\Factory.cpp" />
<ClCompile Include="Render\IRender.cpp" />
<ClCompile Include="Render\Matrix.cpp" />
<ClCompile Include="Render\Path.cpp" />
<ClCompile Include="Render\Pen.cpp" />
<ClCompile Include="Render\Render.cpp" />
<ClCompile Include="StdAfx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="UIlib.cpp" />
<ClCompile Include="Utils\ApiWrapper.cpp" />
<ClCompile Include="Utils\DpiManager.cpp" />
<ClCompile Include="Utils\MultiLangSupport.cpp" />
<ClCompile Include="Utils\OnScreenKeyboardManager.cpp" />
<ClCompile Include="Utils\Shadow.cpp" />
<ClCompile Include="Utils\StringUtil.cpp" />
<ClCompile Include="Utils\TimerManager.cpp" />
<ClCompile Include="Core\Window.cpp" />
<ClCompile Include="Core\Box.cpp" />
<ClCompile Include="Core\Control.cpp" />
<ClCompile Include="Core\WindowBuilder.cpp" />
<ClCompile Include="Core\GlobalManager.cpp" />
<ClCompile Include="Core\Markup.cpp" />
<ClCompile Include="Control\Combo.cpp" />
<ClCompile Include="Control\List.cpp" />
<ClCompile Include="Control\Progress.cpp" />
<ClCompile Include="Control\RichEdit.cpp" />
<ClCompile Include="Control\ScrollBar.cpp" />
<ClCompile Include="Control\Slider.cpp" />
<ClCompile Include="Control\TreeView.cpp" />
<ClCompile Include="Utils\UnZip.cpp" />
<ClCompile Include="Utils\WinImplBase.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Animation\AnimationManager.h" />
<ClInclude Include="Animation\AnimationPlayer.h" />
<ClInclude Include="Box\ChildBox.h" />
<ClInclude Include="Box\HBox.h" />
<ClInclude Include="Box\TabBox.h" />
<ClInclude Include="Box\TileBox.h" />
<ClInclude Include="Box\VBox.h" />
<ClInclude Include="Control\CircleProgress.h" />
<ClInclude Include="Control\VirtualListBox.h" />
<ClInclude Include="Core\Image.h" />
<ClInclude Include="Core\Placeholder.h" />
<ClInclude Include="Render\Bitmap.h" />
<ClInclude Include="Render\Brush.h" />
<ClInclude Include="Render\Clip.h" />
<ClInclude Include="Render\Factory.h" />
<ClInclude Include="Render\IRender.h" />
<ClInclude Include="Render\Matrix.h" />
<ClInclude Include="Render\Path.h" />
<ClInclude Include="Render\Pen.h" />
<ClInclude Include="Render\Render.h" />
<ClInclude Include="StdAfx.h" />
<ClInclude Include="UIlib.h" />
<ClInclude Include="Utils\ApiWrapper.h" />
<ClInclude Include="Utils\DpiManager.h" />
<ClInclude Include="Utils\Macros.h" />
<ClInclude Include="Utils\MultiLangSupport.h" />
<ClInclude Include="Utils\OnScreenKeyboardManager.h" />
<ClInclude Include="Utils\Shadow.h" />
<ClInclude Include="Utils\StringUtil.h" />
<ClInclude Include="Utils\Delegate.h" />
<ClInclude Include="Utils\TimerManager.h" />
<ClInclude Include="Utils\UnZip.h" />
<ClInclude Include="Utils\Utils.h" />
<ClInclude Include="Utils\VersionHelpers.h" />
<ClInclude Include="Utils\WinImplBase.h" />
<ClInclude Include="Core\Window.h" />
<ClInclude Include="Core\Box.h" />
<ClInclude Include="Core\Control.h" />
<ClInclude Include="Core\Define.h" />
<ClInclude Include="Core\WindowBuilder.h" />
<ClInclude Include="Core\GlobalManager.h" />
<ClInclude Include="Core\Markup.h" />
<ClInclude Include="Control\Button.h" />
<ClInclude Include="Control\CheckBox.h" />
<ClInclude Include="Control\Combo.h" />
<ClInclude Include="Control\Label.h" />
<ClInclude Include="Control\List.h" />
<ClInclude Include="Control\Option.h" />
<ClInclude Include="Control\Progress.h" />
<ClInclude Include="Control\RichEdit.h" />
<ClInclude Include="Control\ScrollBar.h" />
<ClInclude Include="Control\Slider.h" />
<ClInclude Include="Control\TreeView.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,341 +1,347 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{8fc45193-00aa-405d-8445-6f6619d94834}</UniqueIdentifier>
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
</Filter>
<Filter Include="Source Files\Utils">
<UniqueIdentifier>{b7a95a7b-1188-487e-b75b-a6e6fe6055f7}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Core">
<UniqueIdentifier>{ef45879d-87a5-4d7f-9a92-fdf97778b304}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Control">
<UniqueIdentifier>{f70f6171-d9fd-4189-b1d7-5250e2d6f0fd}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{b7a7aeb7-2adb-4395-b80d-4922bd4efc19}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl</Extensions>
</Filter>
<Filter Include="Header Files\Utils">
<UniqueIdentifier>{3472fe0b-1976-4ada-9c67-2f07b06068d2}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Core">
<UniqueIdentifier>{1a8a45f1-b601-4178-b118-b282f71c4dec}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Control">
<UniqueIdentifier>{6eb00376-1e2b-4faf-9eaa-bdc915049307}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Box">
<UniqueIdentifier>{38a8cc27-53b9-4413-8919-ae7448229ad2}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Box">
<UniqueIdentifier>{101719c8-36d9-454c-be9a-d0f158cf21b4}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Animation">
<UniqueIdentifier>{4f978102-2279-42b9-ab99-8a719e9fdf53}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Animation">
<UniqueIdentifier>{2069d257-49fd-4283-9999-19e7dda732c8}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Render">
<UniqueIdentifier>{ab59d168-e65b-4cf4-aff6-a2a07e35d058}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Render">
<UniqueIdentifier>{93308611-e7ba-4331-845a-700f5b457c52}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="StdAfx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="UIlib.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Utils\MultiLangSupport.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
<ClCompile Include="Control\Combo.cpp">
<Filter>Source Files\Control</Filter>
</ClCompile>
<ClCompile Include="Control\List.cpp">
<Filter>Source Files\Control</Filter>
</ClCompile>
<ClCompile Include="Control\Progress.cpp">
<Filter>Source Files\Control</Filter>
</ClCompile>
<ClCompile Include="Control\RichEdit.cpp">
<Filter>Source Files\Control</Filter>
</ClCompile>
<ClCompile Include="Control\ScrollBar.cpp">
<Filter>Source Files\Control</Filter>
</ClCompile>
<ClCompile Include="Control\Slider.cpp">
<Filter>Source Files\Control</Filter>
</ClCompile>
<ClCompile Include="Control\TreeView.cpp">
<Filter>Source Files\Control</Filter>
</ClCompile>
<ClCompile Include="Core\Control.cpp">
<Filter>Source Files\Core</Filter>
</ClCompile>
<ClCompile Include="Core\Markup.cpp">
<Filter>Source Files\Core</Filter>
</ClCompile>
<ClCompile Include="Utils\StringUtil.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
<ClCompile Include="Core\Box.cpp">
<Filter>Source Files\Core</Filter>
</ClCompile>
<ClCompile Include="Core\WindowBuilder.cpp">
<Filter>Source Files\Core</Filter>
</ClCompile>
<ClCompile Include="Core\Window.cpp">
<Filter>Source Files\Core</Filter>
</ClCompile>
<ClCompile Include="Box\ChildBox.cpp">
<Filter>Source Files\Box</Filter>
</ClCompile>
<ClCompile Include="Box\HBox.cpp">
<Filter>Source Files\Box</Filter>
</ClCompile>
<ClCompile Include="Box\TabBox.cpp">
<Filter>Source Files\Box</Filter>
</ClCompile>
<ClCompile Include="Box\TileBox.cpp">
<Filter>Source Files\Box</Filter>
</ClCompile>
<ClCompile Include="Box\VBox.cpp">
<Filter>Source Files\Box</Filter>
</ClCompile>
<ClCompile Include="Utils\WinImplBase.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
<ClCompile Include="Animation\AnimationPlayer.cpp">
<Filter>Source Files\Animation</Filter>
</ClCompile>
<ClCompile Include="Core\GlobalManager.cpp">
<Filter>Source Files\Core</Filter>
</ClCompile>
<ClCompile Include="Utils\TimerManager.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
<ClCompile Include="Core\Placeholder.cpp">
<Filter>Source Files\Core</Filter>
</ClCompile>
<ClCompile Include="Animation\AnimationManager.cpp">
<Filter>Source Files\Animation</Filter>
</ClCompile>
<ClCompile Include="Utils\DpiManager.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
<ClCompile Include="Core\Define.cpp">
<Filter>Source Files\Core</Filter>
</ClCompile>
<ClCompile Include="Utils\Shadow.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
<ClCompile Include="Control\VirtualListBox.cpp">
<Filter>Source Files\Control</Filter>
</ClCompile>
<ClCompile Include="Utils\ApiWrapper.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
<ClCompile Include="Render\Render.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Render\Clip.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Render\IRender.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Render\Bitmap.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Core\Image.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Utils\OnScreenKeyboardManager.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
<ClCompile Include="Render\Brush.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Render\Factory.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Render\Path.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Render\Pen.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Render\Matrix.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Utils\UnZip.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="StdAfx.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="UIlib.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Utils\Utils.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Utils\WinImplBase.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Utils\MultiLangSupport.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Control\Button.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\CheckBox.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\Combo.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\Label.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\List.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\Option.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\Progress.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\RichEdit.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\ScrollBar.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\Slider.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\TreeView.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Core\Control.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="Core\Define.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="Core\Markup.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="Utils\StringUtil.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Utils\Delegate.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Core\Box.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="Core\WindowBuilder.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="Core\Window.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="Box\ChildBox.h">
<Filter>Header Files\Box</Filter>
</ClInclude>
<ClInclude Include="Box\HBox.h">
<Filter>Header Files\Box</Filter>
</ClInclude>
<ClInclude Include="Box\TabBox.h">
<Filter>Header Files\Box</Filter>
</ClInclude>
<ClInclude Include="Box\TileBox.h">
<Filter>Header Files\Box</Filter>
</ClInclude>
<ClInclude Include="Box\VBox.h">
<Filter>Header Files\Box</Filter>
</ClInclude>
<ClInclude Include="Animation\AnimationPlayer.h">
<Filter>Header Files\Animation</Filter>
</ClInclude>
<ClInclude Include="Core\GlobalManager.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="Utils\TimerManager.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Core\Placeholder.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="Animation\AnimationManager.h">
<Filter>Header Files\Animation</Filter>
</ClInclude>
<ClInclude Include="Utils\Macros.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Utils\DpiManager.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Utils\VersionHelpers.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Utils\Shadow.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Control\VirtualListBox.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Utils\ApiWrapper.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Render\Render.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Render\IRender.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Render\Clip.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Render\Bitmap.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Core\Image.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Utils\OnScreenKeyboardManager.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Render\Brush.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Render\Factory.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Render\Path.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Render\Pen.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Render\Matrix.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Utils\UnZip.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
</ItemGroup>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{8fc45193-00aa-405d-8445-6f6619d94834}</UniqueIdentifier>
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
</Filter>
<Filter Include="Source Files\Utils">
<UniqueIdentifier>{b7a95a7b-1188-487e-b75b-a6e6fe6055f7}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Core">
<UniqueIdentifier>{ef45879d-87a5-4d7f-9a92-fdf97778b304}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Control">
<UniqueIdentifier>{f70f6171-d9fd-4189-b1d7-5250e2d6f0fd}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{b7a7aeb7-2adb-4395-b80d-4922bd4efc19}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl</Extensions>
</Filter>
<Filter Include="Header Files\Utils">
<UniqueIdentifier>{3472fe0b-1976-4ada-9c67-2f07b06068d2}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Core">
<UniqueIdentifier>{1a8a45f1-b601-4178-b118-b282f71c4dec}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Control">
<UniqueIdentifier>{6eb00376-1e2b-4faf-9eaa-bdc915049307}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Box">
<UniqueIdentifier>{38a8cc27-53b9-4413-8919-ae7448229ad2}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Box">
<UniqueIdentifier>{101719c8-36d9-454c-be9a-d0f158cf21b4}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Animation">
<UniqueIdentifier>{4f978102-2279-42b9-ab99-8a719e9fdf53}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Animation">
<UniqueIdentifier>{2069d257-49fd-4283-9999-19e7dda732c8}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Render">
<UniqueIdentifier>{ab59d168-e65b-4cf4-aff6-a2a07e35d058}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Render">
<UniqueIdentifier>{93308611-e7ba-4331-845a-700f5b457c52}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="StdAfx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="UIlib.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Utils\MultiLangSupport.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
<ClCompile Include="Control\Combo.cpp">
<Filter>Source Files\Control</Filter>
</ClCompile>
<ClCompile Include="Control\List.cpp">
<Filter>Source Files\Control</Filter>
</ClCompile>
<ClCompile Include="Control\Progress.cpp">
<Filter>Source Files\Control</Filter>
</ClCompile>
<ClCompile Include="Control\RichEdit.cpp">
<Filter>Source Files\Control</Filter>
</ClCompile>
<ClCompile Include="Control\ScrollBar.cpp">
<Filter>Source Files\Control</Filter>
</ClCompile>
<ClCompile Include="Control\Slider.cpp">
<Filter>Source Files\Control</Filter>
</ClCompile>
<ClCompile Include="Control\TreeView.cpp">
<Filter>Source Files\Control</Filter>
</ClCompile>
<ClCompile Include="Core\Control.cpp">
<Filter>Source Files\Core</Filter>
</ClCompile>
<ClCompile Include="Core\Markup.cpp">
<Filter>Source Files\Core</Filter>
</ClCompile>
<ClCompile Include="Utils\StringUtil.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
<ClCompile Include="Core\Box.cpp">
<Filter>Source Files\Core</Filter>
</ClCompile>
<ClCompile Include="Core\WindowBuilder.cpp">
<Filter>Source Files\Core</Filter>
</ClCompile>
<ClCompile Include="Core\Window.cpp">
<Filter>Source Files\Core</Filter>
</ClCompile>
<ClCompile Include="Box\ChildBox.cpp">
<Filter>Source Files\Box</Filter>
</ClCompile>
<ClCompile Include="Box\HBox.cpp">
<Filter>Source Files\Box</Filter>
</ClCompile>
<ClCompile Include="Box\TabBox.cpp">
<Filter>Source Files\Box</Filter>
</ClCompile>
<ClCompile Include="Box\TileBox.cpp">
<Filter>Source Files\Box</Filter>
</ClCompile>
<ClCompile Include="Box\VBox.cpp">
<Filter>Source Files\Box</Filter>
</ClCompile>
<ClCompile Include="Utils\WinImplBase.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
<ClCompile Include="Animation\AnimationPlayer.cpp">
<Filter>Source Files\Animation</Filter>
</ClCompile>
<ClCompile Include="Core\GlobalManager.cpp">
<Filter>Source Files\Core</Filter>
</ClCompile>
<ClCompile Include="Utils\TimerManager.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
<ClCompile Include="Core\Placeholder.cpp">
<Filter>Source Files\Core</Filter>
</ClCompile>
<ClCompile Include="Animation\AnimationManager.cpp">
<Filter>Source Files\Animation</Filter>
</ClCompile>
<ClCompile Include="Utils\DpiManager.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
<ClCompile Include="Core\Define.cpp">
<Filter>Source Files\Core</Filter>
</ClCompile>
<ClCompile Include="Utils\Shadow.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
<ClCompile Include="Control\VirtualListBox.cpp">
<Filter>Source Files\Control</Filter>
</ClCompile>
<ClCompile Include="Utils\ApiWrapper.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
<ClCompile Include="Render\Render.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Render\Clip.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Render\IRender.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Render\Bitmap.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Core\Image.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Utils\OnScreenKeyboardManager.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
<ClCompile Include="Render\Brush.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Render\Factory.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Render\Path.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Render\Pen.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Render\Matrix.cpp">
<Filter>Source Files\Render</Filter>
</ClCompile>
<ClCompile Include="Utils\UnZip.cpp">
<Filter>Source Files\Utils</Filter>
</ClCompile>
<ClCompile Include="Control\CircleProgress.cpp">
<Filter>Source Files\Control</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="StdAfx.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="UIlib.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Utils\Utils.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Utils\WinImplBase.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Utils\MultiLangSupport.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Control\Button.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\CheckBox.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\Combo.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\Label.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\List.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\Option.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\Progress.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\RichEdit.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\ScrollBar.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\Slider.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Control\TreeView.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Core\Control.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="Core\Define.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="Core\Markup.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="Utils\StringUtil.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Utils\Delegate.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Core\Box.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="Core\WindowBuilder.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="Core\Window.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="Box\ChildBox.h">
<Filter>Header Files\Box</Filter>
</ClInclude>
<ClInclude Include="Box\HBox.h">
<Filter>Header Files\Box</Filter>
</ClInclude>
<ClInclude Include="Box\TabBox.h">
<Filter>Header Files\Box</Filter>
</ClInclude>
<ClInclude Include="Box\TileBox.h">
<Filter>Header Files\Box</Filter>
</ClInclude>
<ClInclude Include="Box\VBox.h">
<Filter>Header Files\Box</Filter>
</ClInclude>
<ClInclude Include="Animation\AnimationPlayer.h">
<Filter>Header Files\Animation</Filter>
</ClInclude>
<ClInclude Include="Core\GlobalManager.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="Utils\TimerManager.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Core\Placeholder.h">
<Filter>Header Files\Core</Filter>
</ClInclude>
<ClInclude Include="Animation\AnimationManager.h">
<Filter>Header Files\Animation</Filter>
</ClInclude>
<ClInclude Include="Utils\Macros.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Utils\DpiManager.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Utils\VersionHelpers.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Utils\Shadow.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Control\VirtualListBox.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
<ClInclude Include="Utils\ApiWrapper.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Render\Render.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Render\IRender.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Render\Clip.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Render\Bitmap.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Core\Image.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Utils\OnScreenKeyboardManager.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Render\Brush.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Render\Factory.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Render\Path.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Render\Pen.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Render\Matrix.h">
<Filter>Header Files\Render</Filter>
</ClInclude>
<ClInclude Include="Utils\UnZip.h">
<Filter>Header Files\Utils</Filter>
</ClInclude>
<ClInclude Include="Control\CircleProgress.h">
<Filter>Header Files\Control</Filter>
</ClInclude>
</ItemGroup>
</Project>