#include#include #include #include #include #include #include #include #define _ID_TIMER 100 #define _ID_TIME_STATIC 100 static char* mini_mk_time (char* buff) { /* // 时钟显示 time_t t; struct tm * tm; time (&t); tm = localtime (&t); sprintf (buff, "%02d:%02d:%02d", tm->tm_hour, tm->tm_min, tm->tm_sec); */ //滚动字幕 static int countnumber = 0; char *str="Welcome to industry and commerce banking terminal station!"; buff=str+countnumber; countnumber++; if(countnumber==strlen(str)) countnumber=0; return buff; } static int mini_TaskBarWinProc (HWND hWnd, int message, WPARAM wParam, LPARAM lParam) { char buff [100]; switch (message) { case MSG_CREATE: CreateWindow (CTRL_STATIC, mini_mk_time (buff), WS_CHILD | WS_BORDER | WS_VISIBLE | SS_CENTER, _ID_TIME_STATIC, 10, 100, 100, 20, hWnd, 0); // 创建一个间隔为 1 秒的定时器,其标识号为 _ID_TIMER,接收定时器消息的窗口为 hWnd SetTimer (hWnd, _ID_TIMER, 100); break; case MSG_TIMER: { // 接收到定时器消息。 // 严格的程序还应该在这里判断 wParam 是否等于期望的定时器标识符,这里是 //_ID_TIMER。 SetDlgItemText (hWnd, _ID_TIME_STATIC, mini_mk_time (buff)); break; } case MSG_CLOSE: // 删除定时器 KillTimer (hWnd, _ID_TIMER); DestroyAllControls (hWnd); DestroyMainWindow (hWnd); PostQuitMessage (hWnd); return 0; } return DefaultMainWinProc (hWnd, message, wParam, lParam); } int MiniGUIMain (int argc, const char* argv[]) { MSG Msg; HWND hMainWnd; MAINWINCREATE CreateInfo; #ifdef _MGRM_PROCESSES JoinLayer(NAME_DEF_LAYER , "helloworld" , 0 , 0); #endif CreateInfo.dwStyle = WS_VISIBLE | WS_BORDER | WS_CAPTION; CreateInfo.dwExStyle = WS_EX_NONE; CreateInfo.spCaption = "timer"; CreateInfo.hMenu = 0; CreateInfo.hCursor = GetSystemCursor(0); CreateInfo.hIcon = 0; CreateInfo.MainWindowProc = mini_TaskBarWinProc; CreateInfo.lx = 0; CreateInfo.ty = 0; CreateInfo.rx = 200; CreateInfo.by = 200; CreateInfo.iBkColor = COLOR_lightwhite; CreateInfo.dwAddData = 0; CreateInfo.hHosting = HWND_DESKTOP; hMainWnd = CreateMainWindow (&CreateInfo); if (hMainWnd == HWND_INVALID) return -1; ShowWindow(hMainWnd, SW_SHOWNORMAL); while (GetMessage(&Msg, hMainWnd)) { TranslateMessage(&Msg); DispatchMessage(&Msg); } MainWindowThreadCleanup (hMainWnd); return 0; } #ifdef _MGRM_THREADS #includ