Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Maus auf Form: andere Priorität beim Repaint?

  Alt 19. Dez 2006, 12:28
Hi Olli:
Schau:

<In irgendeinem Thread, z.B. nach Empfang einer TCP-Message>
Delphi-Quellcode:
Procedure TSomeWhere.OnTCPMessageReceived;
Begin
  PleaseUpdateGrid := True
End;

<Im Application.OnIdle>
Delphi-Quellcode:
Procedure TMainForm.ApplicationIdle (Sender : TObject; Var Done : Boolean);
Begin
  If PleaseUpdateGrid then Begin
     ViewController.UpdateGrid;
     PleaseUpdateGrid := False;
  End
End;
...

Procedure TViewController.UpdateGrid;
Begin
  ...
  MyGrid.Invalidate
  ...
End;
Das geht natürlich so nicht mehr, weil Invalidate aufgerufen wird und danach nix mehr kommt. Das Grid-Neuzeichnen wird dann erst nach dem Bewegen der Maus/Keyboard etc. initiiert.

Meine Frage richtete sich aber eher danach, wie (und ob) ich Windows 'zwingen' kann, ein nicht fokusiertes Fenster im Hintergrund auch ofters mal neu zu zeichnen...
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat