//以下内容保存为 时钟test.cpp
/***********************************************************************************************/
#include <windows.h>#include <TCHAR.H>#include "resource.h"#include <stdio.h>
#define IDT_UPDATE 1
PTSTR KeepTheDoubleOfTime(DWORD Time,PTSTR szBuf)//保证时分秒自动补零
{ ((Time/10)>0) ? _stprintf(szBuf,TEXT("%d"),Time) :_stprintf(szBuf,TEXT("%c%d"),TEXT('0'),Time); return szBuf;}
BOOL CALLBACK DialogProc( HWND hwndDlg, // handle to dialog box UINT uMsg, // message WPARAM wParam, // first message parameter LPARAM lParam // second message parameter){ switch(uMsg) { case WM_INITDIALOG: SetTimer(hwndDlg,IDT_UPDATE,1*1000,NULL); SYSTEMTIME Sm; TCHAR Timer[30]; GetSystemTime(&Sm); _stprintf(Timer,TEXT("%d年%d月%d日\n"),Sm.wYear,Sm.wMonth,Sm.wDay); SetDlgItemText(hwndDlg,IDC_STATIC_1,Timer); if(Sm.wDayOfWeek==0) _stprintf(Timer,TEXT("%s"),TEXT("星期日")); else _stprintf(Timer,TEXT("%d"),Sm.wDayOfWeek); SetDlgItemText(hwndDlg,IDC_STATIC_2,Timer);
break; case WM_TIMER: SYSTEMTIME sm; GetSystemTime(&sm); TCHAR timer[30]; TCHAR Hour[5]; TCHAR Min[5]; TCHAR Sec[5]; _stprintf(timer,TEXT("%s:%s:%s"),KeepTheDoubleOfTime(sm.wHour+8,Hour), KeepTheDoubleOfTime(sm.wMinute,Min),KeepTheDoubleOfTime(sm.wSecond,Sec)); SetWindowText(GetDlgItem(hwndDlg,IDC_EDIT_TIMER),timer); break; case WM_CLOSE: DestroyWindow(hwndDlg); break; case WM_DESTROY: PostQuitMessage(0); break;
} return FALSE;}
int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpCmdLine, // pointer to command line int nCmdShow // show state of window){ DialogBoxParam(hInstance,MAKEINTRESOURCE(IDD_DIALOG_TIMER), NULL,DialogProc,(LPARAM)atoi(lpCmdLine)); return 0;}
//以下内容保存为 resourch.h
/***********************************************************************************************/
//{{NO_DEPENDENCIES}}// Microsoft Developer Studio generated include file.// Used by ResFor时钟test.rc//#define IDD_DIALOG_TIMER 101#define IDC_EDIT_TIMER 1000#define IDC_DATETIMEPICKER1 1001#define IDC_STATIC_1 1002#define IDC_STATIC_2 1003
// Next default values for new objects// #ifdef APSTUDIO_INVOKED#ifndef APSTUDIO_READONLY_SYMBOLS#define _APS_NEXT_RESOURCE_VALUE 102#define _APS_NEXT_COMMAND_VALUE 40001#define _APS_NEXT_CONTROL_VALUE 1004#define _APS_NEXT_SYMED_VALUE 101#endif#endif
//以下内容保存为 ResFor时钟test.rc
/***********************************************************************************************/
//Microsoft Developer Studio generated resource script.//#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS///////////////////////////////////////////////////////////////////////////////// Generated from the TEXTINCLUDE 2 resource.//#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////// Chinese (中国) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)#ifdef _WIN32LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED#pragma code_page(936)#endif //_WIN32
#ifdef APSTUDIO_INVOKED///////////////////////////////////////////////////////////////////////////////// TEXTINCLUDE//
1 TEXTINCLUDE DISCARDABLE BEGIN "resource.h\0"END
2 TEXTINCLUDE DISCARDABLE BEGIN "#include ""afxres.h""\r\n" "\0"END
3 TEXTINCLUDE DISCARDABLE BEGIN "\r\n" "\0"END
#endif // APSTUDIO_INVOKED
///////////////////////////////////////////////////////////////////////////////// Dialog//
IDD_DIALOG_TIMER DIALOGEX 0, 0, 99, 61STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENUEXSTYLE WS_EX_CLIENTEDGECAPTION "Timer"FONT 10, "System"BEGIN CTEXT "Static",IDC_EDIT_TIMER,7,43,86,12 CTEXT "Static",IDC_STATIC_1,7,7,86,12 CTEXT "Static",IDC_STATIC_2,7,24,86,12END
///////////////////////////////////////////////////////////////////////////////// DESIGNINFO//
#ifdef APSTUDIO_INVOKEDGUIDELINES DESIGNINFO DISCARDABLE BEGIN IDD_DIALOG_TIMER, DIALOG BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 93 TOPMARGIN, 7 BOTTOMMARGIN, 55 ENDEND#endif // APSTUDIO_INVOKED
#endif // Chinese (中国) resources/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED///////////////////////////////////////////////////////////////////////////////// Generated from the TEXTINCLUDE 3 resource.//
最后新建一个win32工程,将上述文件导入工程编译即可
追问兄台,这好像不是我要的格式
追答我这个是加了定时器的动态时钟。就跟钟表一样能看时间。