dateTime,MonthCal-日期月历自绘

示例代码:

int CALLBACK OnDateTimePopupMonthCal(HWINDOW hMonthCalWnd, HELE hMonthCal, BOOL *pbHandled)
{
HBKM hBkM = XEle_GetBkManager(hMonthCal);
XBkM_AddFill(hBkM, element_state_flag_leave, COLORREF_MAKE(45, 48, 51, 255));
XBkM_AddBorder(hBkM, element_state_flag_leave, COLORREF_MAKE(82, 88, 94, 255), 1);
XEle_EnableDrawBorder(hMonthCal, FALSE);
XEle_EnableFocus(hMonthCal, FALSE);
XEle_SetTextColor(hMonthCal, COLORREF_MAKE(230, 230, 230,255));
std::wstring buttonBKInfo = L"{99:1.9.9;5:2(15)20(1)21(3)26(0)22(-10594221)23(255);5:2(15)20(1)21(3)26(0)22(-9015449)23(255);5:2(15)20(1)21(3)26(0)22(-12304325)23(255);98:16(0)32(1)64(2);}";
HELE hButton = XMonthCal_GetButton(hMonthCal, monthCal_button_type_today);
XEle_SetTextColor(hButton, COLORREF_MAKE(230, 230, 230,255));
//XC_SetProperty(hButton, L"bkInfoM", L"@ID_bk_button_gray");
XBkM_SetBkInfo(XEle_GetBkManager(hButton), buttonBKInfo.c_str());
XEle_SetTextColor(hButton, COLORREF_MAKE(230, 230, 230,255));
XBkM_SetBkInfo(XEle_GetBkManager(hButton), buttonBKInfo.c_str());
XEle_SetTextColor(hButton, COLORREF_MAKE(230, 230, 230,255));
XBkM_SetBkInfo(XEle_GetBkManager(hButton), buttonBKInfo.c_str());
XEle_SetTextColor(hButton, COLORREF_MAKE(230, 230, 230,255));
XBkM_SetBkInfo(XEle_GetBkManager(hButton), buttonBKInfo.c_str());
XEle_SetTextColor(hButton, COLORREF_MAKE(230, 230, 230,255));
XBkM_SetBkInfo(XEle_GetBkManager(hButton), buttonBKInfo.c_str());
return 0;
}
void SetDateTimeStyle(HELE hDate)
{
XEle_SetTextColor(hDate, COLORREF_MAKE(230, 230, 230,255));
XBkM_AddFill(XEle_GetBkManager(hDate), element_state_flag_leave, COLORREF_MAKE(45, 48, 51, 255));
std::wstring buttonBKInfo = L"{99:1.9.9;5:2(15)20(1)21(3)26(0)22(-10594221)23(255);5:2(15)20(1)21(3)26(0)22(-12304325)23(255);5:2(15)20(1)21(3)26(0)22(-13422547)23(255);4:2(36)8(90.00)3(5,9,5,9)20(1)21(3)26(1)22(-1)23(255);98:16(2,3)32(0,3)64(1,3);}";
HELE hBtnPop = XDateTime_GetButton(hDate, 0);
XBkM_SetBkInfo(XEle_GetBkManager(hBtnPop), buttonBKInfo.c_str());
XEle_RegEventC(hDate, XE_DATETIME_POPUP_MONTHCAL, OnDateTimePopupMonthCal);
}
HWINDOW hWindow = NULL;
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
XInitXCGUI(TRUE); // 初始化
hWindow = XWnd_Create(0, 0, 500, 400, L"炫彩界面库-窗口");
if (hWindow)
{
HELE hEle = XDateTime_Create(20, 50, 150, 26, hWindow);
SetDateTimeStyle(hEle);
XWnd_AdjustLayout(m_hWindow);
XWnd_ShowWindow(hWindow, SW_SHOW);
XRunXCGUI();// 运行程序
}
XExitXCGUI();// 释放资源
return 0;
}
#define XE_DATETIME_POPUP_MONTHCAL
日期时间元素,弹出月历卡片事件
Definition: XCGUI.h:1229
void WINAPI XBkM_AddFill(HBKM hBkInfoM, int nState, COLORREF color, int id)
背景_添加填充 添加背景内容填充.
Definition: BkObjectMgr.cpp:472
int WINAPI XBkM_SetBkInfo(HBKM hBkInfoM, const wchar_t *pText)
@背景_置内容old 废弃函数, 保留为了兼容旧版; 请使用 XBkM_SetInfo()
Definition: BkObjectMgr.cpp:429
void WINAPI XBkM_AddBorder(HBKM hBkInfoM, int nState, COLORREF color, int width, int id)
背景_添加边框 添加背景内容边框.
Definition: BkObjectMgr.cpp:461
void WINAPI XEle_SetTextColor(HELE hEle, COLORREF color)
元素_置文本颜色 设置文本颜色.
Definition: EleUI.cpp:4328
void WINAPI XEle_EnableFocus(HELE hEle, BOOL bEnable)
元素_启用焦点 启用焦点.
Definition: EleUI.cpp:4033
HBKM WINAPI XEle_GetBkManager(HELE hEle)
元素_取背景管理器 获取元素背景管理器.
Definition: EleUI.cpp:4502
void WINAPI XEle_EnableDrawBorder(HELE hEle, BOOL bEnable)
元素_启用绘制边框 启用或禁用绘制默认边框.
Definition: EleUI.cpp:4052
@ monthCal_button_type_next_year
下一年
Definition: XCGUI.h:1882
@ monthCal_button_type_next_month
下一月
Definition: XCGUI.h:1886
@ monthCal_button_type_last_year
上一年
Definition: XCGUI.h:1880
@ monthCal_button_type_today
今天按钮
Definition: XCGUI.h:1878
@ monthCal_button_type_last_month
上一月
Definition: XCGUI.h:1884
@ monthCal_state_flag_item_select_no
项-未选择
Definition: XCGUI.h:2255
@ monthCal_state_flag_item_leave
项-离开
Definition: XCGUI.h:2247
@ monthCal_state_flag_item_next_month
项-下月
Definition: XCGUI.h:2263
@ monthCal_state_flag_item_cur_month
项-当月
Definition: XCGUI.h:2261
@ monthCal_state_flag_item_last_month
项-上月
Definition: XCGUI.h:2259
void WINAPI XExitXCGUI()
炫彩_退出 退出界面库释放资源. 不可在dllmain()中卸载, 否则会死锁
Definition: App.cpp:572
void WINAPI XRunXCGUI()
炫彩_运行 运行消息循环,当炫彩窗口数量为0时退出.
Definition: App.cpp:564
BOOL WINAPI XInitXCGUI(BOOL bD2D)
炫彩_初始化 初始化界面库.
Definition: App.cpp:557
XEle_RegEventC(hEle, nEvent, memberFunction)
元素_注册事件C 注册元素事件, 回调函数省略元素自身句柄hEle.
void WINAPI XDateTime_EnableSplitSlash(HELE hEle, BOOL bSlash)
日期_启用分割栏为斜线 切换分割栏为:斜线或横线.
Definition: DateTimeUI.cpp:1577
HELE WINAPI XDateTime_Create(int x, int y, int cx, int cy, HXCGUI hParent)
日期_创建 创建日期时间元素
Definition: DateTimeUI.cpp:1547
HELE WINAPI XDateTime_GetButton(HELE hEle, int nType)
日期_取内部按钮 获取内部按钮元素.
Definition: DateTimeUI.cpp:1588
void WINAPI XDateTime_SetStyle(HELE hEle, int nStyle)
日期_置样式 设置样式.
Definition: DateTimeUI.cpp:1555
HELE WINAPI XMonthCal_GetButton(HELE hEle, monthCal_button_type_ nType)
月历_取内部按钮 获取内部按钮元素.
Definition: MonthCalUI.cpp:1077
HWINDOW WINAPI XWnd_Create(int x, int y, int cx, int cy, const wchar_t *pTitle, HWND hWndParent, int XCStyle)
窗口_创建 创建窗口
Definition: WindowUI.cpp:5964
void WINAPI XWnd_AdjustLayout(HWINDOW hWindow)
窗口_调整布局 调整窗口布局, 当窗口显示状态才有效.
Definition: WindowUI.cpp:6718
BOOL WINAPI XWnd_ShowWindow(HWINDOW hWindow, int nCmdShow)
@窗口_显示扩展 显示隐藏及控制窗口最大化还原等
Definition: WindowUI.cpp:6387

截图: