|
程序主页面想在状态栏设置当前时间,效果如图:
时间利用TextBlock空间每秒更新,利用炫彩的定时器。
代码如下:
注册定时器
XWnd_RegEventCPP(h_Window, WM_TIMER, &Main_Frame::On_Timer_Proc);
回调函数
int Main_Frame::On_Timer_Proc(UINT nIDEvent, BOOL* pbHandled)
{
CTime today = CTime::GetCurrentTime();
CString current_Time = today.Format("%Y-%m-%d %H:%M:%S");
HXCGUI txtTime = XC_GetObjectByID(14);
XTextBlock_SetText(txtTime, current_Time);
*pbHandled = TRUE;
RECT rect;
XShape_GetRect(txtTime, &rect);
XShape_Redraw(txtTime);
return 0;
}
启动定时器
UINT u_Timer = XWnd_SetTimer(h_Window, 1, 1000);
代码调试发现可以运行到回调函数中,但是页面不刷新,也就是TextBlock值并没有变化,界面最小化在恢复后,时间有变化,单击按钮弹窗后也有变化。
用重绘应该可以解决问题,但是重绘并未实现刷新问题
|
|