Anwendung neu zeichnen! Wie?
-
Helft mir mal.
Ich mache ne Zeitberechnung in meiner Anwendung. Klappt auch und wird auch im Programm angezeigt.void CProggiDlg::OnBStop() { if (gestartet) { // Stopzeit CString time; CTime m_tTime = CTime::GetCurrentTime(); CTimeSpan span; span=m_tTime-m_time_startzeitpunkt; m_time_laufzeit = span.Format("%H:%M:%S"); // Stoptzeit Ende // die gelaufene zeit zu der gesamtzeit addieren... m_time_gesamtzeit += span; UpdateAlltime(); } gestartet = false; // Dateiauswahl.... for (int i=1; i<=3; i++) KillTimer(i); GetDlgItem(IDC_B_STOP)->EnableWindow(false); GetDlgItem(IDOK)->EnableWindow(true); UpdateData(false); }
Nun möchte ich Mittels eines Reset-Buttons die Zeiten wieder nullen.
Funktioniert auch. Das habe ich so gelöst:void CproggiDlg::OnBReset() { CResetDlg dlg(this); dlg.DoModal(); if(dlg.IsRegisteredZeiten()) { m_time_startzeit = _T("00:00:00"); m_time_laufzeit = _T("00:00:00"); m_time_gesamtzeit = 0; UpdateAlltime(); } UpdateData(false); }
Das Problem das nun ist, ist das dort wo im Proggi nun die genullten Zeiten stehen soll, Hyroglyphen stehen, da das programm nicht neu gezeichnet wird. wenn ich das programm mit der maus aus dem bildschirm ziehe und wieder rein, stehen alle Zeiten wie gewollt auf 0. wie kann ich das proggi autom. neu zeichnen lassen ?
-
Die funktion Invalidate() solltre dir da helfen.
-
jupp, funktioniert, danke.