Hallo Leute,
momentan werden alle meine Unterprogramme
bild_zeichnen(hwnd, bildname);
uhr_zeichnen(hwnd);
zeiger_zeichnen(hwnd, zeitverschiebung);
digitale_zeitanzeige(hwnd,staedtename);
jede Sekunde gezeichnet.
Gibt es auch die Möglichkeit, dass bild_zeichnen(hwnd, bildname) und uhr_zeichnen(hwnd) nur einmal ausgeführt und die anderen beiden Funktionen jede Sekunde aktualisiert werden?
LRESULT CALLBACK MainWndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
switch (msg) {
case WM_PAINT:
if (Schalter == 0)hintergrundbild_zeichnen(hwnd);
else
{
hdc=BeginPaint(hwnd,&ps);
bild_zeichnen(hwnd, bildname);
uhr_zeichnen(hwnd);
zeiger_zeichnen(hwnd, zeitverschiebung);
digitale_zeitanzeige(hwnd,staedtename);
EndPaint(hwnd,&ps);
}
break;
case WM_SIZE:
cxClient = LOWORD(lParam);
cyClient = HIWORD(lParam);
if (Schalter == 0)hintergrundbild_zeichnen(hwnd);
SendMessage(hWndStatusbar,msg,wParam,lParam);
InitializeStatusBar(hWndStatusbar,1);
break;
case WM_MENUSELECT:
return MsgMenuSelect(hwnd,msg,wParam,lParam);
case WM_COMMAND:
HANDLE_WM_COMMAND(hwnd,wParam,lParam,MainWndProc_O nCommand);
break;
case WM_DESTROY:
PostQuitMessage(0);
KillTimer(hwnd, TIMER_1);
break;
case WM_TIMER:
InvalidateRect(hwnd, NULL, TRUE);
break;
default:
return DefWindowProc(hwnd,msg,wParam,lParam);
}
return 0;
}
SetTimer wird mithilfe eines Buttons in einer Maske aktiviert.
Wäre super wenn mir jemand weiterhelfen könnte![]()
Ergebnis 1 bis 4 von 4
InvalidateRect richtig anwenden
Diskussion über InvalidateRect richtig anwenden in C++: Compiler, IDEs, APIs der Kategorie Programmierung; Hallo Leute, momentan werden alle meine Unterprogramme bild_zeichnen(hwnd, bildname); uhr_zeichnen(hwnd); zeiger_zeichnen(hwnd, zeitverschiebung); digitale_zeitanzeige(hwnd,staedtename); jede Sekunde gezeichnet. Gibt es auch die ...
- 27.05.2012, 13:40 #1Reg.-Benutzer
- Reg.-Datum
- 08.04.2012
- Beiträge
- 15
InvalidateRect richtig anwenden
- 28.05.2012, 10:42 #2
Administrator + Moderator
C++: Compiler, IDEs, APIs / C und C++, Algorithmik, Basic, Sonstige, .NET
- Reg.-Datum
- 10.07.2001
- Ort
- Essen
- Beiträge
- 9.409
Du könntest in WM_TIMER eine Variable setzen. In WM_PAINT kannst du dann diese Variable prüfen.
"Funktioniert nicht" ist keine ausreichende Problembeschreibung.
- 31.05.2012, 11:57 #3Reg.-Benutzer
- Reg.-Datum
- 08.04.2012
- Beiträge
- 15
mir ist nicht ganz klar wie du das meinst.
Ich kann in meinem WM_TIMER bspw.
pruefer = 1 ;
reinschreiben.
Und vor dem bild_zeichnen und uhr_zeichnen prüfe ich ob diese Bedingung erfüllt ist?
Leider funktioniert das nicht das nicht...
- 31.05.2012, 12:30 #4
Administrator + Moderator
C++: Compiler, IDEs, APIs / C und C++, Algorithmik, Basic, Sonstige, .NET
- Reg.-Datum
- 10.07.2001
- Ort
- Essen
- Beiträge
- 9.409
"Funktioniert nicht" ist keine ausreichende Problembeschreibung.
Aktive Benutzer
Aktive Benutzer
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Ähnliche Themen
-
sed auf mehrere Dateien anwenden?
Von schrotob im Forum Linux + UnixAntworten: 1Letzter Beitrag: 31.01.2011, 14:05 -
ISTLEER auf drei Zellen anwenden
Von Ikaruga im Forum AnwendungssoftwareAntworten: 6Letzter Beitrag: 04.02.2009, 14:39 -
NTFS Berechtigung auf Computerobjekte anwenden???
Von tuningmaster im Forum Windows BetriebssystemeAntworten: 2Letzter Beitrag: 15.12.2008, 14:23 -
Update für 2 Tabellen anwenden
Von KingOfQueens im Forum DatenbankenAntworten: 6Letzter Beitrag: 01.04.2008, 12:48 -
wie kann man to_date anwenden
Von abc1234 im Forum DatenbankenAntworten: 4Letzter Beitrag: 09.05.2003, 11:59


LinkBack URL
About LinkBacks
Zitieren