在MFC框架下,单文档和多文档编程默认有状态栏(对话框需要自己创建状态栏),在文档视图程序中显示时间,需要在框架窗口(CMainFrame)下处理,具体步骤如下:
在状态栏中增加显示时间的区块:首先到ResourceView中编辑String Table,增加IDS_TIMER(时间),然后在CMainFrame中修改indicators数组,插入IDS_TIMER,插入的位置,即为显示的位置。(添加字符串必须将字符串说明也写上,不然无法新建);
在CMainFrame的OnCreate函数末尾添加SetTimer(1,1000,NULL); 语句;
在CMainFrame中增加WM_TIMER消息响应函数OnTimer,并在该定时器函数中增加如下代码:
状态栏显示宽度默认为IDS_TIMER字符串的宽度,如果需要动态设置,可以使用SetPaneInfo函数。
在对话框程序中,因为对话框没有默认状态栏,需要手动创建一个,其它代码大致思路相同,都是在定时器中获取时间、格式化为字符串,并将字符串设置为状态栏文本。创建状态栏大致代码如下:
HWND Statu;//在对话框类头文件中,设置为类成员变量