如何修改mfc窗口界面大小_MFC修改电脑系统时间的方法
1.MFC如何获取系统时间
2.mfc 的编辑框中怎么显示系统的当前时间
3.mfc编程怎么可以在状态栏时时显示系统时间
4.看过来,看过来 C语言获取系统时间的几种方式
5.用c语言如何获取系统当前时间的函数?
6.VC++ MFC入门问题
新建一个基于对话框的MFC程序,设置都取默认值。
一、在“OnInitDialog()”函数的“return TRUE;”前加上以下代码:
SetTimer(1, 1000, NULL);
二、添加 WM_TIMER 消息映射(不要告诉我你不会-_-||),然后在OnTimer函数里添加以下代码:
CTime tm = CTime::GetCurrentTime();
CString str = tm.Format("%H:%M:%S");
SetWindowText(str); // 设置对话框的标题为当前时间
另:
OnTimer函数是使用类向导添加的。添加方法如下:
按“Ctrl+W”打开“MFC ClassWizard”对话框,
在“Message Maps”页,“Project”下拉框应该就一个工程,
“Class Name”下拉框选名称为“C***Dlg”的,
“Object IDs”列表框也选名称为“C***Dlg”的,
“Messages”列表框里选择“WM_TIMER”,
然后点右边的按钮“Add Function”,再点“Edit Code”,
就会自动添加OnTimer函数并定位到OnTimer函数里。
这个够详细不够
MFC如何获取系统时间
COleDateTimeSpan类是用于对COleDateTime类的两个时间的时间间隔的计算,COleDateTimeSpan类使用的成员变量COleDateTimeSpan::m_span是一个double类型是用于记录两个COleDateTime::m_dt的时间差,例如:
COleDateTime?t1(2006,1,1,0,0,0);
COleDateTime?t2(2007,1,1,0,0,0);
COleDateTimeSpan?ts=t2-t1;
CString?str;
str.Format("%f",ts.m_span);
AfxMessageBox(str);
运行的结果是:365.000000
反过来也可以得到日期
COleDateTime?t1(2006,1,1,0,0,0);
COleDateTimeSpan?ts;
ts.m_span=400.0;
COleDateTime?t2=t1+ts;
AfxMessageBox(t2.Format("%c"));
运行的结果是:02/05/07?00:00:00
mfc 的编辑框中怎么显示系统的当前时间
rt
例如当前时间是14:34:55
获得当前的时间,并将时、分、秒赋值给hh,mm,ss三个变量使得hh=14,mm=34,ss=55?
--------------------------------------------------------------------------------
回复1:CTime t = CTime::GetCurrentTime();//获取当前时间.
hh = t.GetHour();
mm = t.GetMinute();
ss = t.GetSecond()
回复2:VOID GetLocalTime(
LPSYSTEMTIME lpSystemTime // address of system time structure
);
typedef struct _SYSTEMTIME{
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
}SYSTEMTIME;
回复3:VOID GetSystemTime(LPSYSTEMTIME lpSystemTime
回复4:
CTime::GetCurrentTime
回复5: SYSTEMTIME st;
GetLocalTime(&st);
hh=st.wHour;
mm=st.wMinute;
ss=st.wSecond;
回复6:CTime t = CTime::GetCurrentTime();
CString strTime;
strTime.Format("%02d:%02d:%02d", t.GetHour(),t.GetMinute(),.GetSecond());
回复7: CString str; time_t t; time(&t); struct tm tmtime; localtime_s(&tmtime, &t); str1.Format("%02u:%02u:%02u", tmtime.tm_hour, tmtime.tm_min, tmtime.tm_sec);
回复8:CTime t = CTime::GetCurrentTime();
CString strTime;
strTime.Format("%02d:%02d:%02d", t.GetHour(),t.GetMinute(),t.GetSecond());
SetWindowText(strTime);
回复9:UP
回复10:CTime t = CTime::GetCurrentTime();//获取当前时间.
hh = t.GetHour();
mm = t.GetMinute();
ss = t.GetSecond()
mfc编程怎么可以在状态栏时时显示系统时间
1.用SetTimer(?)设置一个定时器,?间隔为1000毫秒
2.在OnTimer中:?
CTime?t=CTime::GetCurrent();
CString?str;
str.Format(_T("%d年%月%日-%d时:%d分:%秒",t.GetYear(),t.GetMonth(),t.GetDay(),t.GetMinite(),t.GetSecond());
SetDlgItemText(IDC_EDIT1,str);
看过来,看过来 C语言获取系统时间的几种方式
在MFC框架下,单文档和多文档编程默认有状态栏(对话框需要自己创建状态栏),在文档视图程序中显示时间,需要在框架窗口(CMainFrame)下处理,具体步骤如下:
在状态栏中增加显示时间的区块:首先到ResourceView中编辑String Table,增加IDS_TIMER(时间),然后在CMainFrame中修改indicators数组,插入IDS_TIMER,插入的位置,即为显示的位置。(添加字符串必须将字符串说明也写上,不然无法新建);
在CMainFrame的OnCreate函数末尾添加SetTimer(1,1000,NULL); 语句;
在CMainFrame中增加WM_TIMER消息响应函数OnTimer,并在该定时器函数中增加如下代码:
CTime?t=CTime::GetCurrentTime();?//获得当前的系统时间CString?str=t.Format("%H:%M:%S");//格式可以参考MSDN中的strftime函数
int?index==m_wndStatusBar.CommandToIndex(IDS_TIMER);
//此处也可以直接输入IDS_TIMER在indicators数组中从0开始的序号。
m_wndStatusBar.SetPaneText(index,str);
状态栏显示宽度默认为IDS_TIMER字符串的宽度,如果需要动态设置,可以使用SetPaneInfo函数。
在对话框程序中,因为对话框没有默认状态栏,需要手动创建一个,其它代码大致思路相同,都是在定时器中获取时间、格式化为字符串,并将字符串设置为状态栏文本。创建状态栏大致代码如下:
HWND?Statu;//在对话框类头文件中,设置为类成员变量//以下代码在OnInitDialog中
statu?=?CreateStatusWindow(WS_CHILD|WS_VISIBLE,"显示系统时间",this->m_hWnd,IDI_ICON_LOGO);
用c语言如何获取系统当前时间的函数?
我们在写C语言程序的时候,有的时候会用到读取本机的时间和日期,怎么做呢?其实很简单的,下面简单说一下:
C语言中读取系统时间的函数为time(),其函数原型为:#include <time.h>time_t time( time_t * ) ;
time_t就是long,函数返回从1970年1月1日(MFC是1899年12月31日)0时0分0秒,到现在的的秒数。
可以调用ctime()函数进行时间转换输出:char * ctime(const time_t *timer);
将日历时间转换成本地时间,按年月日格式,进行输出,如:Wed Sep 23 08:43:03 2015C语言还提供了将秒数转换成相应的时间结构的函数:
struct tm * gmtime(const time_t *timer);?//将日历时间转化为世界标准时间(即格林尼治时间)
struct tm * localtime(const time_t * timer);?//将日历时间转为本地时间将通过time()函数返回的值,转成时间结构structtm :
struct tm {int tm_sec; /* 秒 – 取值区间为[0,59] */
int tm_min; /* 分 - 取值区间为[0,59] */
int tm_hour; /* 时 - 取值区间为[0,23] */
int tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */
int tm_mon; /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */
int tm_year; /* 年份,其值等于实际年份减去1900 */
int tm_wday; /* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */
int tm_yday; /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */
int tm_isdst; /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/};
编程者可以根据程序功能的情况,灵活的进行日期的读取与输出了。
下面给出一段简单的代码:
#include<time.h>int?main()
{
time_t?timep;
struct?tm?*p;
time?(&timep);
p=gmtime(&timep);
printf("%d\n",p->tm_sec);?/*获取当前秒*/
printf("%d\n",p->tm_min);?/*获取当前分*/
printf("%d\n",8+p->tm_hour);/*获取当前时,这里获取西方的时间,刚好相差八个小时*/
printf("%d\n",p->tm_mday);/*获取当前月份日数,范围是1-31*/
printf("%d\n",1+p->tm_mon);/*获取当前月份,范围是0-11,所以要加1*/
printf("%d\n",1900+p->tm_year);/*获取当前年份,从1900开始,所以要加1900*/
printf("%d\n",p->tm_yday);?/*从今年1月1日算起至今的天数,范围为0-365*/
}
VC++ MFC入门问题
1、C语言中读取系统时间的函数为time(),其函数原型为:\x0d\#include \x0d\time_t time( time_t * ) ;\x0d\time_t就是long,函数返回从1970年1月1日(MFC是1899年12月31日)0时0分0秒,到现在的的秒数。\x0d\2、C语言还提供了将秒数转换成相应的时间格式的函数:\x0d\ char * ctime(const time_t *timer); //将日历时间转换成本地时间,返回转换后的字符串指针 可定义字符串或是字符指针来接收返回值\x0d\ struct tm * gmtime(const time_t *timer); //将日历时间转化为世界标准时间(即格林尼治时间),返回结构体指针 可定义struct tm *变量来接收结果\x0d\ struct tm * localtime(const time_t * timer); //将日历时间转化为本地时间,返回结构体指针 可定义struct tm *变量来接收结果\x0d\3、例程:\x0d\#include \x0d\void main()\x0d\{\x0d\ time_t t;\x0d\ struct tm *pt ;\x0d\ char *pc ;\x0d\ time(&t);\x0d\ pc=ctime(&t) ; printf("ctime:%s", pc );\x0d\ pt=localtime(&t) ; printf("year=%d", pt->tm_year+1900 );\x0d\}\x0d\\x0d\时间结构体struct tm 说明:\x0d\\x0d\struct tm { \x0d\ int tm_sec; /* 秒 _ 取值区间为[0,59] */ \x0d\ int tm_min; /* 分 - 取值区间为[0,59] */ \x0d\ int tm_hour; /* 时 - 取值区间为[0,23] */ \x0d\ int tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */ \x0d\ int tm_mon; /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */ \x0d\ int tm_year; /* 年份,其值等于实际年份减去1900 */ \x0d\ int tm_wday; /* 星期 _ 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */ \x0d\ int tm_yday; /* 从每年的1月1日开始的天数 _ 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */ \x0d\ int tm_isdst; /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/ \x0d\};
//这个函数是通过鼠标右键点击CDatetoNMETDlg类
//选择Add windows message handle
//然后选择WM_TIMER双击生成
void CDatetoNMETDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if (1==nIDEvent) //编号对应
{
COleDateTime GKTime(2011,6,7,0,0,0);// 时间基数
COleDateTimeSpan daytemp=GKTime-COleDateTime::GetCurrentTime();//时间差
CDC* pDC=this->GetDC();//画图句柄
CString strtemp;//字符变量
CFont ft;//字体变量
ft.CreatePointFont(300,"黑体",pDC);//设置字体
pDC->SelectObject(ft);//绑定字体
strtemp.Format("%d天%d小时%d分钟%d秒",daytemp.GetDays(),
daytemp.GetHours(),daytemp.GetMinutes(),daytemp.GetSeconds());//格式化输出
pDC->SetBkMode(TRANSPARENT);//字体透明
pDC->SetTextColor(RGB(255,0,0));//字体颜色
this->RedrawWindow();//重画窗口
pDC->TextOut(10,10,"离高考还有");//“画”字
pDC->TextOut(10,60,strtemp);//“画”字
DeleteDC(pDC->m_hDC);//删除句柄
}
CDialog::OnTimer(nIDEvent);
}
之前还应该设置一个SetTimer 定义时长为1S
程序打包了 放在临时空间里
添加了注释 因为百度贴出链接需要提交很长时间 所以消息发给你
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。