上节课作业:学生管理系统(画原型界面布置)增、删、查(双击)、搜
接下来我们要实现小时钟。涉及到的主要知识点是定时器的使用,涉及到的C知识就是函数指针(回调函数)
使用定时器
回调就是不是你调别人,而是别人调你。时间到了会叫你,没到的时候不会烦你。
让Windows直接将定时器消息发送给您程序的另一个函数。
我们把以下的callback函数称为TimerProc(您能够选择与其它一些用语不会发生冲突的任何名称),它只处理WM_TIMER消息:
VOID CALLBACK TimerProc (
HWND hwnd, UINT message, UINT iTimerID, DWORD dwTime);
SetTimer (hwnd, iTimerID, iMsecInterval, TimerProc) ;
19、得到当前日期:
void GetLocalTime(LPSYSTEMTIME);
课上练习:
SYSTEMTIME stLocal;
char chBuf[256];
GetLocalTime(&stLocal);
//显示时间的间隔。
wsprintf(chBuf,TEXT("%u/%u/%u %u:%u:%u:%u 周%d\r\n"),
stLocal.wYear, stLocal.wMonth, stLocal.wDay,
stLocal.wHour, stLocal.wMinute, stLocal.wSecond,
stLocal.wMilliseconds,stLocal.wDayOfWeek);
MessageBox(NULL,chBuf,"",MB_OK);
SetTimer(hwnd,1,1000,TimerProc);
void CALLBACK TimerProc (HWND hwnd, UINT message, UINT iTimerID, DWORD dwTime)
{
SYSTEMTIME time;
GetLocalTime(&time);
TCHAR strTime[256];
//%后面的0表示不够的位数补零,5是总位数,就这样
wsprintf(strTime,"%04d-%02d-%02d %02d:%02d:%02d",time.wYear,time.wMonth,time.wDay,time.wHour,time.wMinute,time.wSecond);
SetDlgItemText(hwnd,IDC_EDTTIME,strTime);
}
作业:定时关机、定时关闭显示器,如何编程实现关机、关显示器。到整天播放音乐。自学!!!“关闭显示器 API”、“关闭显示器
函数”
9、取得复选按钮的是否选中:
LRESULT Button_GetCheck(
HWND hwndCtl);BST_CHECKED BST_UNCHECKED
设置复选按钮是否选中:
LRESULT Button_SetCheck(
HWND hwndCtl, int check);BST_CHECKED BST_UNCHECKED
7、ListBox(和Combo类似)
(1)添加项:
如果采用LBS_SORT样式,那么填入清单方块最简单的方法是借助ListBox_AddString:
int ListBox_AddString(
HWND hwndCtl, LPCSTR lpsz);
如果没有采用LBS_SORT,那么可以使用ListBox_InsertString指定一个索引值,将字符串插入到清单方块中:
int ListBox_InsertString(
HWND hwndCtl, int index, LPCSTR lpsz);
(2)删除项:
int ListBox_DeleteString(
HWND hwndCtl, int index);
(3)取得有多少项:
int ListBox_GetCount(
HWND hwndCtl); (4)选定某一项int ListBox_SetCurSel(
HWND hwndCtl, int index);将iParam设定为-1则取消所有选择(5) 确定目前选项的索引:int ListBox_GetCurSel(
HWND hwndCtl); 如果没有项目被选中,那么从呼叫中传回的iIndex值为LB_ERR。(6)将某项目复制到文字缓冲区中:int ListBox_GetText(
HWND hwndCtl, int index, LPCTSTR lpszBuffer);
9、菜单资源
(1)制作好菜单资源后,在对话框的Menu属性中选择刚才制作好的对话框。
(2)响应菜单操作。菜单点击后也会发送WM_COMMAND消息id就是被选择菜单的id。例子:
case IDM_QUIT:
EndDialog(hwnd,id);
作业:文件操作。自己动手写记事本。路径写固定的路径。
下节课内容:作业点评,文件对话框、播放音乐