Fenster aktualisieren
-
also noch ma
ich hab die uhr in ein anderes fenster eingebaut nur wird die zeit dann nur dann aktualisiert wenn ich die größe des uhrenfenster verändere!
-
Du musst halt einfach in WM_TIMER InvalidateRect für dasjenige Fenster aufrufen, in dem du die Uhr zeichnen willst. Ggf. musst du das Handle dieses Fensters in einer globalen Variablen speichern, damit du in WM_TIMER darauf zugreifen kannst.
-
das funzt irgendwie net...hab ich auch vorher schon ma probiert gehabt
also noch ma im einzelnen:
in der WinMain erzeuge ich ein einfaches graues fenster in dem
die Uhr in einem eigenen fenster angezeigt werden soll. das funzt auch soweit nur wird die zeit halt nich mehr aktualisiert wenn das proggi läuft. das klappt nur wenn man die größe von dem fenster mit der uhr ändert, danach bleibt die uhr wieder stehen.
-
Dann rufst du offenbar InvalidateRect nicht für das Fenster mit der Uhr auf?!
-
Doch hWnd is bei mir das graue Hauptfenster
und hWnd2 is die uhr...und ich nehmInvalidateRect(hWnd2, NULL, TRUE)
-
Ich glaube immer noch, dass du ein falschen Fenster-Handle verwendest! :p
hWnd2, kommt nämlich vom der Callbackfunktion! Speicher das Handle einfach in einer globalen Variablen und nenn das der Callback nochmal ganz anders!
-
jetzt versteh ich ger nix mehr....
-
Ich darf mal:
[..]
Das besondere an J.G. Systems ist, das der Chef und Gründer von J.G. Systems, ein 15-jähriger Schüler ist.
Obwohl er noch recht jung ist, kann er schon auf eine 11(!)-jährige Erfahrung im Umgang mit Computern zurückblicken.
[..]Ich will ja nicht gehässig sein aber, wer so was auf seiner HP rausposaunt...
Das Ziel von J.G. Systems ist, Ihnen die Software zu bieten, die Sie wirklich benötigen!
[..]Ich hätte gerne eine funktionierdende Digitaluhr, die sich nicht nur bei Größenänderung des Fensters aktualisiert. :p
-
na ja das mit den 11 jahren stimmte ja noch (is auch so ziemlich das einzige)
ich wollt nich sowas schreiben wie:
"armer schüler will billige konsolenprogramme verkaufen, trottel als käufer herzlich willkommen"
is ja auch egal, ich wollt halt ma mit was anderem als zeitung austragen oder ähnliches versuchen geld zu verdienen. aber ich glaub so langsam ich hab die hp zu früh gebastelt...na ja einen versuch wars wert...
so dann zeig du profi ma was du so kannst und sach mir wie ich meine uhr zum laufen krieg
-
Hehe. Ich hatte dich schon in verdacht mein Gästebuch zu zu müllen. Aber so wie es aussieht bist du es doch nicht.
Ich bin leider auch kein Profi. Ich vermute auch nur, dass du das falsche Handle nimmst ohne es zu merken. Bzw. was machst du denn anders als der Petzold?
-
Wenn du dein Fenster für die Digital-Uhr erzeugst speicherst du es einfach in einer globalen Variable hWndDigiClock falls du das Fenster in WinMain erstellst. Falls in WM_CREATE, kannst du es einfach in einer statischen Variable in DigiProc speichern. Dieses musst du dann auch beim Aufruf von InvalidateRect verwenden!
Hoffe mal, dass das das Problem nun endlich löst
-
poste einfach DEINEN code, dann kann man dier viel schneller helfen...
-
So ich hab mein problem jetzt selber gelöst...
hatte einen fehler in meine WM_PAINT message eingebaut