Uhrzeit und Datum in der Statusbar anzeigen
-
Hallo,
wie kann ich mittels MFC bei einer SDI-Applikation in der StatusLeiste das Datum und die Uhrzeit anzeigen??
-
Einfach einen entsprechenden Inidicator hinzufügen. Dazu einen Timer setzen und einen ON_COMMAND Handler installieren
Das Beispiel ist zwar nicht so prickelnd zeigt aber worauf es ankommt.
http://www.codeproject.com/statusbar/statusbar.asp
-
Der Code macht das selbe:
http://support.microsoft.com/kb/99198/en-us
-
Erstmal mußt du dir das Datum/Uhrzeit holen und formatieren (entweder über die <ctime> Funktionen time(), gmtime()/localtime(),... oder über CTime::GetCurrentTime()), dann kannst du sie per SetPaneText() in deine Statuszeile schreiben.
(und um immer auf dem aktuellen Stand zu bleiben, solltest du das regelmäßig wiederholen, z.B. mit einem Timer)
-
BTW: Warum verwendest Du eigentlich nicht mal Google? Die Suche nach "CStatusBar time" liefert sofort unter den ersten 5, 5 perfekte Treffer!
-
ok danke für eure Hilfe
werde das mal ausprobieren!!
Unter google hatte ich nichts gutes gefunden, hab wohl die falschen Suchbegriffe eingegeben.
-
na das mit der Zeit anzeigen hat geklappt, war auch gar nicht schwer und ich habs sogar kapiert!!
Jetzt fehlt mir nur noch dás Datum anzuzeigen.
Hab da das Problem das es keine Funktion gibt wieCDate date = CDate::GetCurrentDate();
-
CTime time = CTime::GetCurrentTime(); int iHour = time.GetHour(); int iMin = time.GetMinute(); int iSec = time.GetSecond(); int iDay = time.GetDay(); int iMon = time.GetMonth(); int iYear = time.GetYear();
-
maRKus23 schrieb:
Hab da das Problem das es keine Funktion gibt wie
CDate date = CDate::GetCurrentDate();Möglicherweise ist der Name etwas irreführend, aber in einem CTime stecken Datum UND Uhrzeit drin

-
jap super, habs grad gesehn und es funktioniert auch

bleibt nur noch eine kleine Frage:
wsprintf(szTime, "%i:%02i", nHour, nMinute);was macht dieses "%i:%02i"
und was macht dieser %-Operator?
-
CTime DateTime = CTime::GetCurrentTime(); DateTime.Format(_T("%H:%M:%S %d.%m.%Y); // Liefert einen CString zurückDer zurückgelieferte CString wäre dann von der Form: 14:34:21 23.11.2006
Das Datum wurde nur als Beispiel genommen um die Form zu demonstrieren. Weitere Informationen von CTime::Format findet man hier:
http://msdn2.microsoft.com/en-us/library/29btb3sw.aspxGrüssli
-
Das sind die Format-Spezifikationen für printf() - die werden durch % eingeleitet und sagen der Funktion, wie sie den nächsten Wert der Parameterliste darstellen soll. (in deinem Beispiel: nHour als Zahl; Doppelpunkt; nMinute als Zahl (zweistellig, mit führender Null))
-
Vielen dank an alle die mir so engagiert weiter geholfen haben!!
Meine Statusbar wäre somit fürs erste fertig
Mein Programm allerdings noch lange nicht, gibt da noch einiges zu tun.