Autor Beitrag
Sledge_Hammer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32

Win 98 SE, Win XP
D7 Prof
BeitragVerfasst: Di 28.01.03 15:19 
Moin
Ich hab grad gelesen dass man die Paint-Funktion beim Form ausschalten kann. Könnte man dann nich besser auf den canvas zeichnen, so dass das nicht immer flackert? damti könnte man dann doch auch DoubleBuffered weglassen. oder geht das nicht so einfach wie ich mir das grade denke? Das flackern tritt ja eigentlich immer dann auf, wenn das OnPaint ereignis auftritt.

Dankschön
kampfkoloss23
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 96



BeitragVerfasst: Di 28.01.03 17:45 
genau so mach ich es immer, soll ich dir die Funktion geben, oder kennst du sie?

Nachteil ist, dass wenn man das repaint der Form verhindert sie beim erstellen ganz durchsichtig ist, natülich nicht die darauf befindlichen Kombos. Ich decke dann die gesamte Form mit einem Image ab, was dem Vorteil hat, das man auf die gesamte Fläche zeichnen usw. kann.

Den Flimmereffekt wird "PERFEKT" abgestellt und douppel buffert hab ich nie aktiviert.

Ich weíß auch nicht, ob das noch andere Nachteile hat, das würd mich auch interesieren, weil ich es halt immer mit dem repaint der FOrm ausstellen mach,
Sledge_Hammer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32

Win 98 SE, Win XP
D7 Prof
BeitragVerfasst: Di 28.01.03 22:14 
Nein, ich kenn die Funktion nicht. Poste mal bitte! Das dann alles durchsichtig ist ist nicht schlimm, man kann doch dann sicher ein rechteck mit der größe der form drübermalen oder sowas.

Danke schonmal.
kampfkoloss23
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 96



BeitragVerfasst: Di 28.01.03 23:53 
Was heißt Rechteck, man legt einfach ein image über die GesamteForm. Das kann man dann natürlich beliebig einfärben. Ist findig sowieso praktisch, weil du dann überall auf die Form(das Image) Bitmaps ausgeben usw kannst.

Hier die Funktion:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
//Das hier  musst du unter privat declartions im Programmkopf 
//schreiben.

  private
    { Private declarations }
    procedure WMEraseBkgnd(var m: TWMEraseBkgnd); message WM_ERASEBKGND;

...

// Das hier dann einfach zu deinen anderen Procedures

procedure Tform1.WMEraseBkgnd(var m : TWMEraseBkgnd);
begin
  m.Result := LRESULT(False);
end;

//Und schon funkzt das ganze!

An alle die noch ein bißchen mehr Ahnung haben. Gibt es einen wirklichen Nachteil hiervon?? Ich hab noch keinen entdeckt. (Dürfte sogar für delphi leichter zu verwalten sein) Ich mach dafür mal nen eigenen Thread auf.

Moderiert von user profile iconTino: Code-Tags hinzugefügt.