Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Jul 03, 2025 09:52

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Sa Okt 02, 2010 09:53 
Offline
DGL Member

Registriert: Do Mär 05, 2009 20:17
Beiträge: 284
Wohnort: Kaiserslautern
Hallo,

ich rendere ja in ein panel, sieht auch alles hübsch aus, nur wenn man die form resized dann flackerts wie wild, was doch sehr störend wirkt.

die Suche hier hat nur den thread hier gefunden: http://www.delphigl.com/forum/viewtopic.php?f=3&t=4379&start=0&hilit=flackern+resize
aus dem ich leider nicht schlau wurde, bzw. keine Lösung ableiten konnte.

Googel hat mich auf diversen Seiten und Foren auch nicht weiter gebracht, da wird beispielsweise versucht mit

Code:
LockControl(Panel1,True);
//make changes; resize;
LockControl(Panel1,False);

function LockControl(c: TWinControl; lock: boolean):boolean;
begin
  result := lock;
  if (c=nil) or (c.Handle=0) then exit;
    if lock then
      begin
      SendMessage(c.Handle,WM_SETREDRAW,0,0);
      end
    else
      begin
      SendMessage(c.Handle,WM_SETREDRAW,1,0);
      RedrawWindow(c.Handle,nil,0,
        RDW_ERASE or RDW_FRAME or RDW_INVALIDATE or RDW_ALLCHILDREN);
      end;
end;


oder mit

Code:
LockWindowUpdate(0);
LockWindowUpdate(1);


zu arbeiten, was bei mir aber leider nicht funktioniert.

Wie löst ihr dieses Problem?

Danke schonmal

Wölfchen


Zuletzt geändert von Wölfchen am So Okt 03, 2010 07:36, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Flackern bei resize...
BeitragVerfasst: Sa Okt 02, 2010 10:04 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Was gehen könnte, das du in ein TForm renderst das du per Code erstellst und das Panel als Parent übergibst.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Flackern bei resize...
BeitragVerfasst: Sa Okt 02, 2010 10:35 
Offline
DGL Member

Registriert: Do Mär 05, 2009 20:17
Beiträge: 284
Wohnort: Kaiserslautern
Wie muss ich mir das vorstellen? das ich eine zweite form habe, die auf dem panel der ersten klebt?
verstehe ich nicht.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Flackern bei resize...
BeitragVerfasst: So Okt 03, 2010 07:29 
Offline
DGL Member

Registriert: Do Mär 05, 2009 20:17
Beiträge: 284
Wohnort: Kaiserslautern
Auch diese Frage habe ich nach dauerhaftem weitergoogeln lösen können... Falls jemand mal das gleiche Problem hat, das hier hat mir geholfen:

und zwar ist die Lösung in diesem Beitrag zu finden, das gezeigte Grundgerüst beinhaltet eine von TPanel erbende Klasse TGLPanel und für diese wird dann scheinbar über die beiden zusätzlichen Methoden
Code:
procedure TglPanel.WMEraseBkgnd(var Message: TWmEraseBkgnd);
begin
  Message.Result := 1;
end;

procedure TglPanel.WMPaint(var Message: TWMPaint);
var
  PS:TPaintStruct;
begin
  BeginPaint( Handle, PS);
  if Assigned(FOnPaintEvent) then
    FOnPaintEvent(Self);
  EndPaint( Handle, PS);
  Message.Result := 0;
end;


das repaint abgewürgt.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.018s | 17 Queries | GZIP : On ]