Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions TopUI.sln
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,21 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestApp1", "demo\TestApp1\T
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Launcher", "demo\Launcher\Launcher.vcxproj", "{A9AB5B7E-074C-49E5-B039-90655217701B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Downloader", "demo\Downloader\Downloader.vcxproj", "{CCF86175-4572-490D-977E-9ECA4D24E79E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
dsad|Win32 = dsad|Win32
Release|Win32 = Release|Win32
UnicodeDebug|Win32 = UnicodeDebug|Win32
UnicodeRelease|Win32 = UnicodeRelease|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{41B017E7-7805-40D5-9D96-AABF572F57D1}.Debug|Win32.ActiveCfg = Debug|Win32
{41B017E7-7805-40D5-9D96-AABF572F57D1}.Debug|Win32.Build.0 = Debug|Win32
{41B017E7-7805-40D5-9D96-AABF572F57D1}.dsad|Win32.ActiveCfg = UnicodeDebug|Win32
{41B017E7-7805-40D5-9D96-AABF572F57D1}.dsad|Win32.Build.0 = UnicodeDebug|Win32
{41B017E7-7805-40D5-9D96-AABF572F57D1}.Release|Win32.ActiveCfg = Release|Win32
{41B017E7-7805-40D5-9D96-AABF572F57D1}.Release|Win32.Build.0 = Release|Win32
{41B017E7-7805-40D5-9D96-AABF572F57D1}.UnicodeDebug|Win32.ActiveCfg = UnicodeDebug|Win32
Expand All @@ -25,12 +30,24 @@ Global
{41B017E7-7805-40D5-9D96-AABF572F57D1}.UnicodeRelease|Win32.Build.0 = UnicodeRelease|Win32
{A9AB5B7E-074C-49E5-B039-90655217701B}.Debug|Win32.ActiveCfg = Debug|Win32
{A9AB5B7E-074C-49E5-B039-90655217701B}.Debug|Win32.Build.0 = Debug|Win32
{A9AB5B7E-074C-49E5-B039-90655217701B}.dsad|Win32.ActiveCfg = Release|Win32
{A9AB5B7E-074C-49E5-B039-90655217701B}.dsad|Win32.Build.0 = Release|Win32
{A9AB5B7E-074C-49E5-B039-90655217701B}.Release|Win32.ActiveCfg = Release|Win32
{A9AB5B7E-074C-49E5-B039-90655217701B}.Release|Win32.Build.0 = Release|Win32
{A9AB5B7E-074C-49E5-B039-90655217701B}.UnicodeDebug|Win32.ActiveCfg = UnicodeDebug|Win32
{A9AB5B7E-074C-49E5-B039-90655217701B}.UnicodeDebug|Win32.Build.0 = UnicodeDebug|Win32
{A9AB5B7E-074C-49E5-B039-90655217701B}.UnicodeRelease|Win32.ActiveCfg = UnicodeRelease|Win32
{A9AB5B7E-074C-49E5-B039-90655217701B}.UnicodeRelease|Win32.Build.0 = UnicodeRelease|Win32
{CCF86175-4572-490D-977E-9ECA4D24E79E}.Debug|Win32.ActiveCfg = Debug|Win32
{CCF86175-4572-490D-977E-9ECA4D24E79E}.Debug|Win32.Build.0 = Debug|Win32
{CCF86175-4572-490D-977E-9ECA4D24E79E}.dsad|Win32.ActiveCfg = Debug|Win32
{CCF86175-4572-490D-977E-9ECA4D24E79E}.dsad|Win32.Build.0 = Debug|Win32
{CCF86175-4572-490D-977E-9ECA4D24E79E}.Release|Win32.ActiveCfg = Release|Win32
{CCF86175-4572-490D-977E-9ECA4D24E79E}.Release|Win32.Build.0 = Release|Win32
{CCF86175-4572-490D-977E-9ECA4D24E79E}.UnicodeDebug|Win32.ActiveCfg = Debug|Win32
{CCF86175-4572-490D-977E-9ECA4D24E79E}.UnicodeDebug|Win32.Build.0 = Debug|Win32
{CCF86175-4572-490D-977E-9ECA4D24E79E}.UnicodeRelease|Win32.ActiveCfg = Release|Win32
{CCF86175-4572-490D-977E-9ECA4D24E79E}.UnicodeRelease|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
3 changes: 3 additions & 0 deletions bin/skin/menu.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
<ListContainerElement name="menu_Delete" height="22" inset="40,0,0,0">
<Label text="删除" mouse="false"/>
</ListContainerElement>
<ListContainerElement name="menu_Rename" height="22" inset="40,0,0,0">
<Label text="重命名" mouse="false"/>
</ListContainerElement>
</List>
</VerticalLayout>
</Window>
28 changes: 28 additions & 0 deletions demo/Downloader/App.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// App.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
#include "MainWnd.h"
#include "resource.h"

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPSTR /*lpCmdLine*/, int nCmdShow)
{

CPaintManagerUI::SetInstance(hInstance);
CPaintManagerUI::SetResourcePath(CPaintManagerUI::GetInstancePath() + _T("..//x86"));

HRESULT Hr = ::CoInitialize(NULL);
if (FAILED(Hr)) return 0;

CMainWnd* pFrame = new CMainWnd();
pFrame->Create(NULL, NULL, UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE | WS_EX_ACCEPTFILES);
pFrame->SetIcon(IDI_ICON1);
pFrame->CenterWindow();
pFrame->ShowWindow(true);

CPaintManagerUI::MessageLoop();

::CoUninitialize();
return 0;
}


177 changes: 177 additions & 0 deletions demo/Downloader/CalendarUI.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
#include "stdafx.h"
#include "CalendarUI.h"

CalendarUI::CalendarUI()
:m_bTag(true)
{

}


CalendarUI::~CalendarUI()
{
}

DUI_BEGIN_MESSAGE_MAP(CalendarUI, WindowImplBase)
DUI_ON_CLICK_CTRNAME(BT_CANCEL, OnClose)
DUI_END_MESSAGE_MAP()

LPCTSTR CalendarUI::GetWindowClassName() const
{
return _T("CLogUI");
}

CDuiString CalendarUI::GetSkinFolder()
{
return _T("..//x86");
}

CDuiString CalendarUI::GetSkinFile()
{
return _T("CalendarUI.xml");
}

void CalendarUI::OnFinalMessage(HWND hWnd)
{
WindowImplBase::OnFinalMessage(hWnd);
delete this;
}

void CalendarUI::Notify(TNotifyUI& msg)
{
if (msg.sType == DUI_MSGTYPE_CLICK)
{
STDSTRING btnName = msg.pSender->GetName();
STDSTRING strTag(_T("Button"));
int iRet = btnName.compare(0, 6, strTag);
if (iRet == 0){
Close();
}
if (btnName == _T("Add_Year")){
m_sysTime.wYear = m_sysTime.wYear + 1;
DrawCalendar(m_sysTime);
}
if (btnName == _T("Sub_Year")){
m_sysTime.wYear = m_sysTime.wYear - 1;
DrawCalendar(m_sysTime);
}
}
if (m_bTag)
{
OnPrepare();
m_PrevMonth = m_sysTime.wMonth;
m_bTag = false;
}
if (msg.sType == DUI_MSGTYPE_ITEMSELECT && msg.pSender->GetName() == _T("CB_month"))
{
CComboUI* Comb = static_cast<CComboUI*>(m_PaintManager.FindControl(_T("CB_month")));
int newmonth = Comb->GetCurSel() + 1;
if (newmonth > m_PrevMonth){
m_sysTime.wMonth = m_sysTime.wMonth + newmonth - m_PrevMonth;
DrawCalendar(m_sysTime);
}
else if(newmonth < m_PrevMonth){
m_sysTime.wMonth = m_sysTime.wMonth + newmonth - m_PrevMonth;
DrawCalendar(m_sysTime);
}
m_PrevMonth = newmonth;
}
WindowImplBase::Notify(msg);
}

void CalendarUI::OnClose(TNotifyUI& msg)
{
Close();
}

void CalendarUI::OnPrepare()
{
::GetLocalTime(&m_sysTime);
DrawCalendar(m_sysTime);
}

STDSTRING CalendarUI::intToString(int num)
{
char Tmp[10] = { 0 };
_itoa(num, Tmp, 10);
STDSTRING result(Tmp);
return result;
}

//��������
void CalendarUI::DrawCalendar(SYSTEMTIME m_sysTime)
{
int iDay = 0;
STDSTRING cDay, cMonth, cYear;
STDSTRING itemName, BtnName;
//int iStartDay = m_sysTime.wDayOfWeek;
m_sysTime.wDay = 1;
int iStartDay = GetDayOfWeek(m_sysTime);
//��������
int iLastMonthStartDays = 31 - iStartDay;
if (m_sysTime.wMonth > 1)
iLastMonthStartDays = GetMonthDays(m_sysTime.wYear, m_sysTime.wMonth - 1) - iStartDay;
//��������
int iMonthDays = GetMonthDays(m_sysTime.wYear, m_sysTime.wMonth);
//��������
int iNextMonthDays = 0;

for (int i = 0; i < 42; i++)
{
BtnName = "Button" + intToString(i);
CButtonUI* btn = static_cast<CButtonUI*>(m_PaintManager.FindControl(BtnName.c_str()));
//����
if (i<iStartDay)
{
iLastMonthStartDays++;
cDay = intToString(iLastMonthStartDays);
btn->SetText(cDay.c_str());
btn->SetBkColor(0x64263232);
}
else if (i>iStartDay - 1 && iDay < iMonthDays)
{
iDay++;
cDay = intToString(iDay);
btn->SetText(cDay.c_str());
btn->SetBkColor(0xc3324534);
}
else
{
iNextMonthDays++;
cDay = intToString(iNextMonthDays);
btn->SetText(cDay.c_str());
btn->SetBkColor(0x64263232);
}
}

cMonth = intToString(m_sysTime.wMonth);
itemName = "Item" + cMonth;
CListLabelElementUI* itemLabe = static_cast<CListLabelElementUI*>(m_PaintManager.FindControl(itemName.c_str()));
itemLabe->Select(true);

cYear = intToString(m_sysTime.wYear);
CLabelUI* edit_year = static_cast<CLabelUI*>(m_PaintManager.FindControl(_T("InputYear")));
edit_year->SetText(cYear.c_str());
}


int CalendarUI::GetMonthDays(int iY, int iM)
{
int iTotalDay = 31;
if (iM == 2)
{
if (iY % 4 == 0 && iY % 100 != 0 || iY % 400 == 0)
iTotalDay = 29;
else
iTotalDay = 28;
}
else if (iM == 4 || iM == 6 || iM == 9 || iM == 11)
iTotalDay = 30;
return iTotalDay;
}

int CalendarUI::GetDayOfWeek(SYSTEMTIME m_sysTime)
{
m_ctime.SetDate(m_sysTime.wYear, m_sysTime.wMonth, m_sysTime.wDay);
return m_ctime.GetDayOfWeek() - 1;
}
37 changes: 37 additions & 0 deletions demo/Downloader/CalendarUI.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#pragma once
#include <DuiLib/UIlib.h>
#include "DownLoadWnd.h"

#include <ATLComTime.h>

#define BT_CANCEL (_T("closebtn1"))


class CalendarUI :
public WindowImplBase
{
public:
CalendarUI();
~CalendarUI();
virtual void OnFinalMessage(HWND /*hWnd*/);
virtual void Notify(TNotifyUI& msg);
DUI_DECLARE_MESSAGE_MAP();
void OnClose(TNotifyUI& msg);

STDSTRING intToString(int num);

void OnPrepare();
void DrawCalendar(SYSTEMTIME m_sysTime);
int GetDayOfWeek(SYSTEMTIME m_sysTime);
int GetMonthDays(int iY, int iM);

private:
BOOL m_bTag;
SYSTEMTIME m_sysTime;
COleDateTime m_ctime;
int m_PrevMonth;
protected:
virtual LPCTSTR GetWindowClassName() const;
virtual CDuiString GetSkinFolder();
virtual CDuiString GetSkinFile();
};
Loading