给基于对话框的MFC程序添加状态栏并实时显示时间(转)
2010-07-28 10:48
239 查看
1.首先在string table 里添加两个字串,ID分别为IDS_INDICATOR_MESSAGE and IDS_INDICATOR_TIME
2.在你的 dlg.h 类里面加个 CStatusBar m_bar;
3.在dlg.cpp 开头加上
static UINT indicators[] =
{
IDS_INDICATOR_MESSAGE,
IDS_INDICATOR_TIME
};
4.OnInitDialog 里面加上
m_bar.Create(this); //We create the status bar
m_bar.SetIndicators(indicators,2); //Set the number of panes
CRect rect;
GetClientRect(&rect);
//Size the two panes
m_bar.SetPaneInfo(0,IDS_INDICATOR_MESSAGE,
SBPS_NORMAL,rect.Width()-100);
m_bar.SetPaneInfo(1,IDS_INDICATOR_TIME,SBPS_STRETCH ,0);
//This is where we actually draw it on the screen
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,
ID_INDICATOR_TIME);
5.时间显示
OnInitDialog 里面加 SetTimer(1,1000,NULL);
为你的dlg类添加WM_TIMER的响应函数,在其中添加代码:
CTime t1;
t1=CTime::GetCurrentTime();
m_bar.SetPaneText(1,t1.Format("%H:%M:%S"));
CDialog::OnTimer(nIDEvent);
这样添加的程序刚开始运行时在时间一栏中显示的是初始设置的字符,为了使程序在刚开始运行时就显示系统时间,可在m_bar.SetPaneInfo(1,IDS_INDICATOR_TIME,SBPS_STRETCH ,0);后添加如下代码:
CTime t1;
t1=CTime::GetCurrentTime();
m_bar.SetPaneText(1,t1.Format("%H:%M:%S"));
这样在程序刚启动时就会显示系统时间,然后实时更新。
2.在你的 dlg.h 类里面加个 CStatusBar m_bar;
3.在dlg.cpp 开头加上
static UINT indicators[] =
{
IDS_INDICATOR_MESSAGE,
IDS_INDICATOR_TIME
};
4.OnInitDialog 里面加上
m_bar.Create(this); //We create the status bar
m_bar.SetIndicators(indicators,2); //Set the number of panes
CRect rect;
GetClientRect(&rect);
//Size the two panes
m_bar.SetPaneInfo(0,IDS_INDICATOR_MESSAGE,
SBPS_NORMAL,rect.Width()-100);
m_bar.SetPaneInfo(1,IDS_INDICATOR_TIME,SBPS_STRETCH ,0);
//This is where we actually draw it on the screen
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,
ID_INDICATOR_TIME);
5.时间显示
OnInitDialog 里面加 SetTimer(1,1000,NULL);
为你的dlg类添加WM_TIMER的响应函数,在其中添加代码:
CTime t1;
t1=CTime::GetCurrentTime();
m_bar.SetPaneText(1,t1.Format("%H:%M:%S"));
CDialog::OnTimer(nIDEvent);
这样添加的程序刚开始运行时在时间一栏中显示的是初始设置的字符,为了使程序在刚开始运行时就显示系统时间,可在m_bar.SetPaneInfo(1,IDS_INDICATOR_TIME,SBPS_STRETCH ,0);后添加如下代码:
CTime t1;
t1=CTime::GetCurrentTime();
m_bar.SetPaneText(1,t1.Format("%H:%M:%S"));
这样在程序刚启动时就会显示系统时间,然后实时更新。
相关文章推荐
- 给基于对话框的MFC程序添加状态栏并实时显示时间
- 给基于对话框的MFC程序添加状态栏并实时显示时间
- 在基于对话框的MFC创建状态栏以及添加时间显示
- MFC对话框程序添加状态栏动态显示时间,随窗口大小变化
- MFC之对话框 添加状态栏 实时显示时间
- MFC 基于对话框 程序,如何添加状态栏
- 基于对话框MFC程序添加状态栏
- 基于MFC对话框程序中添加菜单栏 (CMenu)
- MFC对话框添加菜单、状态栏,并在状态栏显示菜单提示信息
- 基于MFC对话框程序中添加菜单栏 (CMenu)
- MFC在状态栏实时显示系统时间
- Visual Studio 2013 MFC基于对话框的程序中加入TeeChart控件后,编译时显示不能实例化抽象类的问题
- mfc中怎样在一个基于对话框程序中添加菜单栏
- vs2008自动添加消息和MFC对话框程序不显示主画面
- 基于MFC对话框程序中添加菜单栏
- MFC 基于对话框程序添加菜单项
- 在基于对话框的MFC程序中,使程序在任务栏中不显示图标
- 在基于对话框的MFC程序中,使程序在任务栏中不显示图标
- MFC基于对话框的程序添加菜单&点击菜单弹出一个新的对话框
- 基于MFC对话框程序中添加菜单栏 (CMenu)