mirror of
https://github.com/duilib/duilib.git
synced 2026-10-18 14:50:35 +08:00
214 lines
3.9 KiB
C++
214 lines
3.9 KiB
C++
#include "StdAfx.h"
|
|
#include "SkinSetting.h"
|
|
#include "About.h"
|
|
|
|
const TCHAR* const kSysBtnControlName = _T("SysButton");
|
|
const TCHAR* const kCloseButtonControlName = _T("closebtn");
|
|
|
|
const TCHAR* const kLogoControlName = _T("logo_btn");
|
|
const TCHAR* const kTitleControlName = _T("title");
|
|
const TCHAR* const kBackgroundControlName = _T("Background");
|
|
const TCHAR* const kClientRectControlName = _T("ClientRect");
|
|
|
|
CAbout::CAbout(HWND hWndParent,const RECT rc)
|
|
{
|
|
|
|
m_bModal = false;
|
|
|
|
Create(hWndParent, _T("About"), WS_POPUPWINDOW | WS_CAPTION | WS_DLGFRAME | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_TOOLWINDOW,rc, 0);
|
|
|
|
MoveWindow(m_hWnd,rc.left, rc.top, rc.right, rc.bottom, FALSE);
|
|
|
|
ShowWindow(true);
|
|
|
|
//ShowModal();
|
|
}
|
|
|
|
|
|
CAbout::~CAbout(void)
|
|
{
|
|
}
|
|
|
|
LPCTSTR CAbout::GetWindowClassName() const
|
|
{
|
|
return _T("AboutWindow");
|
|
}
|
|
|
|
void CAbout::OnFinalMessage(HWND hWnd)
|
|
{
|
|
WindowImplBase::OnFinalMessage(hWnd);
|
|
delete this;
|
|
}
|
|
|
|
void CAbout::OnPrepare(TNotifyUI& msg)
|
|
{
|
|
|
|
}
|
|
void CAbout::Notify(TNotifyUI& msg)
|
|
{
|
|
if (_tcsicmp(msg.sType, _T("windowinit")) == 0)
|
|
{
|
|
OnPrepare(msg);
|
|
}
|
|
else if (_tcsicmp(msg.sType, _T("killfocus")) == 0)
|
|
{
|
|
|
|
}
|
|
else if( msg.sType == _T("click") )
|
|
{
|
|
|
|
if (_tcsicmp(msg.pSender->GetName(), kCloseButtonControlName) == 0)
|
|
{
|
|
Close();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
void CAbout::InitWindow()
|
|
{
|
|
|
|
}
|
|
|
|
CDuiString CAbout::GetSkinFile()
|
|
{
|
|
return CSkinSetting::GetSkinFile();
|
|
}
|
|
|
|
CDuiString CAbout::GetSkinFolder()
|
|
{
|
|
return CSkinSetting::GetSkinFolder();
|
|
}
|
|
|
|
UILIB_RESOURCETYPE CAbout::GetResourceType() const
|
|
{
|
|
return CSkinSetting::GetResourceType();
|
|
}
|
|
|
|
LPCTSTR CAbout::GetResourceID() const
|
|
{
|
|
return CSkinSetting::GetResourceID();
|
|
}
|
|
|
|
CDuiString CAbout::GetZIPFileName() const
|
|
{
|
|
return CSkinSetting::GetZIPFileName();
|
|
}
|
|
|
|
DWORD CAbout::GetBkColor()
|
|
{
|
|
CControlUI* background = m_PaintManager.FindControl(kBackgroundControlName);
|
|
if (background != NULL)
|
|
return background->GetBkColor();
|
|
|
|
return 0;
|
|
}
|
|
|
|
void CAbout::SetBkColor(DWORD dwBackColor)
|
|
{
|
|
CControlUI* background = m_PaintManager.FindControl(kBackgroundControlName);
|
|
if (background != NULL)
|
|
{
|
|
background->SetBkImage(_T(""));
|
|
background->SetBkColor(dwBackColor);
|
|
background->NeedUpdate();
|
|
}
|
|
}
|
|
|
|
void CAbout::SetBkImage(LPCTSTR szImageName)
|
|
{
|
|
|
|
CControlUI* background = m_PaintManager.FindControl(kBackgroundControlName);
|
|
if (background != NULL)
|
|
{
|
|
|
|
background->SetBkImage(szImageName);
|
|
|
|
}
|
|
}
|
|
|
|
LRESULT CAbout::OnMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
{
|
|
|
|
POINT pt;
|
|
|
|
pt.x = GET_X_LPARAM(lParam); pt.y = GET_Y_LPARAM(lParam);
|
|
|
|
RECT btnRect;
|
|
|
|
CButtonUI* linkbtn;
|
|
|
|
linkbtn = (CButtonUI*)m_PaintManager.FindControl(_T("www.131qz.com"));
|
|
|
|
if (linkbtn != NULL)
|
|
{
|
|
|
|
btnRect = linkbtn->GetPos();
|
|
|
|
if(pt.x > btnRect.left && pt.x < btnRect.right && pt.y > btnRect.top && pt.y < btnRect.bottom)
|
|
{
|
|
|
|
linkbtn->SetTextColor(0xffff0000);
|
|
linkbtn->NeedUpdate();
|
|
|
|
}else{
|
|
|
|
linkbtn->SetTextColor(0xff0000ff);
|
|
linkbtn->NeedUpdate();
|
|
}
|
|
|
|
}
|
|
|
|
bHandled = FALSE;
|
|
return 0;
|
|
}
|
|
|
|
LRESULT CAbout::OnMouseHover(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
{
|
|
|
|
bHandled = FALSE;
|
|
return 0;
|
|
}
|
|
|
|
LRESULT CAbout::OnMouseLeave(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
{
|
|
|
|
bHandled = FALSE;
|
|
|
|
return 0;
|
|
}
|
|
|
|
LRESULT CAbout::OnKillFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
|
|
{
|
|
//Close();
|
|
return 0;
|
|
}
|
|
|
|
LRESULT CAbout::OnNcActivate(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled)
|
|
{
|
|
|
|
//wParam为0时表示是失去焦点,为非0时表示得到焦点
|
|
if (m_bModal)
|
|
{
|
|
if (! wParam)
|
|
{
|
|
|
|
|
|
}else{
|
|
|
|
|
|
}
|
|
}
|
|
|
|
if( ::IsIconic(*this) ) bHandled = FALSE;
|
|
return (wParam == 0) ? TRUE : FALSE;
|
|
}
|
|
|
|
DWORD CAbout::DoModal()
|
|
{
|
|
if(! this->m_hWnd)
|
|
return -1;
|
|
m_bModal = true;
|
|
return ShowModal();
|
|
}
|