#include "StdAfx.h"
#include "UIManager.h"
#include "UIAnim.h"
#include <zmouse.h>
/////////////////////////////////////////////////////////////////////////////////////
//
//
static UINT GetNameHash(LPCTSTR pstrName)
{
UINT i = 0;
SIZE_T len = _tcslen(pstrName);
while( len-- > 0 ) i = (i << 5) + i + pstrName[len];
return i;
}
static UINT MapKeyState()
{
UINT uState = 0;
if( ::GetKeyState(VK_CONTROL) < 0 ) uState |= MK_CONTROL;
if( ::GetKeyState(VK_RBUTTON) < 0 ) uState |= MK_LBUTTON;
if( ::GetKeyState(VK_LBUTTON) < 0 ) uState |= MK_RBUTTON;
if( ::GetKeyState(VK_SHIFT) < 0 ) uState |= MK_SHIFT;
if( ::GetKeyState(VK_MENU) < 0 ) uState |= MK_ALT;
return uState;
}
/////////////////////////////////////////////////////////////////////////////////////
//
#define IDB_ICONS16 200
#define IDB_ICONS24 201
#define IDB_ICONS32 202
#define IDB_ICONS50 203
typedef struct tagFINDTABINFO
{
CControlUI* pFocus;
CControlUI* pLast;
bool bForward;
bool bNextIsIt;
} FINDTABINFO;
typedef struct tagFINDSHORTCUT
{
TCHAR ch;
bool bPickNext;
} FINDSHORTCUT;
typedef struct tagTIMERINFO
{
CControlUI* pSender;
UINT nLocalID;
HWND hWnd;
UINT uWinTimer;
} TIMERINFO;
/////////////////////////////////////////////////////////////////////////////////////
//
CAnimationSpooler m_anim;
HPEN m_hPens[UICOLOR__LAST] = { 0 };
HFONT m_hFonts[UIFONT__LAST] = { 0 };
HBRUSH m_hBrushes[UICOLOR__LAST] = { 0 };
LOGFONT m_aLogFonts[UIFONT__LAST] = { 0 };
COLORREF m_clrColors[UICOLOR__LAST][2] = { 0 };
TEXTMETRIC m_aTextMetrics[UIFONT__LAST] = { 0 };
HIMAGELIST m_himgIcons16 = NULL;
HIMAGELIST m_himgIcons24 = NULL;
HIMAGELIST m_himgIcons32 = NULL;
HIMAGELIST m_himgIcons50 = NULL;
/////////////////////////////////////////////////////////////////////////////////////
HINSTANCE CPaintManagerUI::m_hInstance = NULL;
HINSTANCE CPaintManagerUI::m_hLangInst = NULL;
CStdPtrArray CPaintManagerUI::m_aPreMessages;
CPaintManagerUI::CPaintManagerUI() :
m_hWndPaint(NULL),
m_hDcPaint(NULL),
m_hDcOffscreen(NULL),
m_hbmpOffscreen(NULL),
m_hwndTooltip(NULL),
m_uTimerID(0x1000),
m_pRoot(NULL),
m_pFocus(NULL),
m_pEventHover(NULL),
m_pEventClick(NULL),
m_pEventKey(NULL),
m_bFirstLayout(true),
m_bFocusNeeded(false),
m_bResizeNeeded(false),
m_bMouseTracking(false),
m_bOffscreenPaint(true),
m_aPostPaint(sizeof(TPostPaintUI))
{
if( m_hFonts[1] == NULL )
{
// Fill in default font information
LOGFONT lf = { 0 };
::GetObject(::GetStockObject(DEFAULT_GUI_FONT), sizeof(LOGFONT), &lf);
_tcscpy(lf.lfFaceName, _T("Tahoma"));
// TODO: Handle "large fonts" or other font sizes when
// screen resolution changes!!!
lf.lfHeight = -12;
m_aLogFonts[UIFONT_NORMAL] = lf;
m_aLogFonts[UIFONT_CAPTION] = lf;
LOGFONT lfBold = lf;
lfBold.lfWeight += FW_BOLD;
m_aLogFonts[UIFONT_BOLD] = lfBold;
lfBold.lfHeight -= 2;
m_aLogFonts[UIFONT_TITLE] = lfBold;
lfBold.lfHeight -= 4;
m_aLogFonts[UIFONT_HEADLINE] = lfBold;
LOGFONT lfSubscript = lf;
lfSubscript.lfHeight -= 4;
m_aLogFonts[UIFONT_SUBSCRIPT] = lfSubscript;
LOGFONT lfLink = lf;
lfLink.lfUnderline = TRUE;
m_aLogFonts[UIFONT_LINK] = lfLink;
// Fill the color table
m_clrColors[UICOLOR_WINDOW_BACKGROUND][0] = RGB(239,239,235);
m_clrColors[UICOLOR_DIALOG_BACKGROUND][0] = RGB(238,238,238);
m_clrColors[UICOLOR_DIALOG_TEXT_NORMAL][0] = RGB(0,0,0);
m_clrColors[UICOLOR_DIALOG_TEXT_DARK][0] = RGB(96,96,80);
m_clrColors[UICOLOR_TITLE_BACKGROUND][0] = RGB(114,136,172);
m_clrColors[UICOLOR_TITLE_TEXT][0] = RGB(255,255,255);
m_clrColors[UICOLOR_TITLE_BORDER_LIGHT][0] = RGB(171,192,231);
m_clrColors[UICOLOR_TITLE_BORDER_DARK][0] = RGB(0,55,122);
m_clrColors[UICOLOR_BUTTON_BACKGROUND_NORMAL][0] = RGB(250,250,252);
m_clrColors[UICOLOR_BUTTON_BACKGROUND_NORMAL][1] = RGB(215,215,227);
m_clrColors[UICOLOR_BUTTON_BACKGROUND_DISABLED][0] = RGB(248,248,248);
m_clrColors[UICOLOR_BUTTON_BACKGROUND_DISABLED][1] = RGB(214,214,214);
m_clrColors[UICOLOR_BUTTON_BACKGROUND_PUSHED][0] = RGB(215,215,227);
m_clrColors[UICOLOR_BUTTON_BACKGROUND_PUSHED][1] = RGB(250,250,252);
m_clrColors[UICOLOR_BUTTON_TEXT_NORMAL][0] = RGB(0,0,0);
m_clrColors[UICOLOR_BUTTON_TEXT_PUSHED][0] = RGB(0,0,20);
m_clrColors[UICOLOR_BUTTON_TEXT_DISABLED][0] = RGB(204,204,204);
m_clrColors[UICOLOR_BUTTON_BORDER_LIGHT][0] = RGB(123,158,189);
m_clrColors[UICOLOR_BUTTON_BORDER_DARK][0] = RGB(123,158,189);
m_clrColors[UICOLOR_BUTTON_BORDER_DISABLED][0] = RGB(204,204,204);
m_clrColors[UICOLOR_BUTTON_BORDER_FOCUS][0] = RGB(140,140,140);
m_clrColors[UICOLOR_TOOL_BACKGROUND_NORMAL][0] = RGB(114,136,172);
m_clrColors[UICOLOR_TOOL_BACKGROUND_DISABLED][0] = RGB(100,121,156);
m_clrColors[UICOLOR_TOOL_BACKGROUND_HOVER][0] = RGB(100,121,156);
m_clrColors[UICOLOR_TOOL_BACKGROUND_PUSHED][0] = RGB(80,101,136);
m_clrColors[UICOLOR_TOOL_BORDER_NORMAL][0] = RGB(0,55,122);
m_clrColors[UICOLOR_TOOL_BORDER_DISABLED][0] = RGB(0,55,122);
m_clrColors[UICOLOR_TOOL_BORDER_HOVER][0] = RGB(0,55,122);
m_clrColors[UICOLOR_TOOL_BORDER_PUSHED][0] = RGB(0,55,122);
m_clrColors[UICOLOR_EDIT_BACKGROUND_DISABLED][0] = RGB(255,251,255);
m_clrColors[UICOLOR_EDIT_BACKGROUND_READONLY][0] = RGB(255,251,255);
m_clrColors[UICOLOR_EDIT_BACKGROUND_NORMAL][0] = RGB(255,255,255);
m_clrColors[UICOLOR_EDIT_BACKGROUND_HOVER][0] = RGB(255,251,255);
m_clrColors[UICOLOR_EDIT_TEXT_NORMAL][0] = RGB(0,0,0);
m_clrColors[UICOLOR_EDIT_TEXT_DISABLED][0] = RGB(167,166,170);
m_clrColors[UICOLOR_EDIT_TEXT_READONLY][0] = RGB(167,166,170);
m_clrColors[UICOLOR_NAVIGATOR_BACKGROUND][0] = RGB(229,217,213);
m_clrColors[UICOLOR_NAVIGATOR_BACKGROUND][1] = RGB(201,199,187);
m_clrColors[UICOLOR_NAVIGATOR_TEXT_NORMAL][0] = RGB(102,102,102);
m_clrColors[UICOLOR_NAVIGATOR_TEXT_SELECTED][0] = RGB(0,0,0);
m_clrColors[UICOLOR_NAVIGATOR_TEXT_PUSHED][0] = RGB(0,0,0);
m_clrColors[UICOLOR_NAVIGATOR_BORDER_NORMAL][0] = RGB(131,133,116);
m_clrColors[UICOLOR_NAVIGATOR_BORDER_SELECTED][0] = RGB(159,160,144);
m_clrColors[UICOLOR_NAVIGATOR_BUTTON_HOVER][0] = RGB(200,200,200);
m_clrColors[UICOLOR_NAVIGATOR_BUTTON_PUSHED][0] = RGB(184,184,183);
m_clrColors[UICOLOR_NAVIGATOR_BUTTON_SELECTED][0] = RGB(238,238,238);
m_clrColors[UICOLOR_TAB_BACKGROUND_NORMAL][0] = RGB(255,251,255);
m_clrColors[UICOLOR_TAB_FOLDER_NORMAL][0] = RGB(255,251,255);
m_clrColors[UICOLOR_TAB_FOLDER_NORMAL][1] = RGB(233,231,215);
m_clrColors[UICOLOR_TAB_FOLDER_SELECTED][0] = RGB(255,251,255);
m_clrColors[UICOLOR_TAB_BORDER][0] = RGB(148,166,181);
m_clrColors[UICOLOR_TAB_TEXT_NORMAL][0] = RGB(0,0,0);
m_clrColors[UICOLOR_TAB_TEXT_SELECTED][0] = RGB(0,0,0);
m_clrColors[UICOLOR_TAB_TEXT_DISABLED][0] = RGB(0,0,0);
m_clrColors[UICOLOR_HEADER_BACKGROUND][0] = RGB(233,231,215);
m_clrColors[UICOLOR_HEADER_BACKGROUND][1] = RGB(150,150,147);
m_clrColors[UICOLOR_HEADER_BORDER][0] = RGB(218,219,201);
m_c
没有合适的资源?快使用搜索试试~ 我知道了~
directui源代码
共69个文件
h:23个
cpp:22个
bmp:4个
3星 · 超过75%的资源 需积分: 10 25 下载量 57 浏览量
2012-11-14
01:07:51
上传
评论 3
收藏 418KB 7Z 举报
温馨提示
高人写的DirectUI的源代码,以前还能找到,现在很难找到这份代码了,特意传上来,供大家研究。
资源推荐
资源详情
资源评论
收起资源包目录
directui.7z (69个子文件)
App
App.vcproj.YY.coyer.user 1KB
resource.h 544B
Views.h 3KB
Temp
App.vcproj.COYER.yy.user 1KB
App.cpp 4KB
App.vcproj 7KB
res
app.ico 1KB
logo_search.bmp 5KB
watermark1.bmp 4KB
icons16.bmp 5KB
icons50.bmp 20KB
debug
DirectUI.rc 2KB
StdAfx.cpp 201B
Views.cpp 27KB
App.dsp 5KB
StdAfx.h 882B
DirectUI.sln 1KB
DirectUI.suo 45KB
clean.cmd 255B
DirectUI.dsw 810B
UIlib
UIActiveX.h 1KB
UILabel.cpp 2KB
UIBlue.h 3KB
UIManager.h 13KB
UIList.h 7KB
UIlib.cpp 1020B
UIlib.dsp 7KB
UIEdit.cpp 10KB
Temp
UIDecoration.cpp 3KB
UIMarkup.cpp 14KB
UIButton.cpp 6KB
UICombo.h 2KB
UIList.cpp 31KB
UIlib.vcproj.COYER.yy.user 1KB
UITool.h 2KB
UIlib.vcproj 15KB
UIBase.cpp 26KB
UIBase.h 7KB
UICombo.cpp 14KB
Internal.h 2KB
UILabel.h 1KB
UIDlgBuilder.h 751B
debug
UIDlgBuilder.cpp 9KB
UIMarkup.h 3KB
UIPanel.cpp 18KB
UIBlue.cpp 37KB
UIDecoration.h 1KB
UITab.cpp 5KB
UIContainer.cpp 25KB
StdAfx.cpp 282B
UIContainer.h 6KB
UIAnim.cpp 19KB
UIPanel.h 4KB
UITool.cpp 4KB
UIAnim.h 1KB
UIButton.h 2KB
UIEdit.h 2KB
StdAfx.h 777B
UITab.h 1KB
UIActiveX.cpp 33KB
UIManager.cpp 54KB
UIlib.vcproj.YY.coyer.user 1KB
UIlib.h 666B
bin
UIlib.dll 428KB
App.ilk 589KB
App.exe 132KB
UIlib.lib 262KB
UIlib.exp 163KB
UIlib.ilk 1.24MB
共 69 条
- 1
资源评论
- bencus20212012-12-07一般般吧,用DirectX写的
coyer
- 粉丝: 26
- 资源: 21
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功