Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   [DevExpress-Ribbon] Flickern unterdrücken (https://www.delphipraxis.net/165660-%5Bdevexpress-ribbon%5D-flickern-unterdruecken.html)

neo4a 10. Jan 2012 15:21

[DevExpress-Ribbon] Flickern unterdrücken
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe den Effekt, dass ein TdxRibbon flickert, wenn sich auf dem Formular zumindest ein angedocktes TdxDockPanel befindet.

Im beiliegenden Sample werden alle Komponenten im Code erzeugt. Sobald man die erzeugten DockPanels schließt, hört der Flicker-Spuk beim Resizen auf.

Kennt vielleicht jemand eine Lösung?

Bernhard Geyer 10. Jan 2012 16:26

AW: [DevExpress-Ribbon] Flickern unterdrücken
 
probier mal alle Properties "DoubleBuffer" die du findest auf True zu setzen.

neo4a 10. Jan 2012 17:17

AW: [DevExpress-Ribbon] Flickern unterdrücken
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1145252)
probier mal alle Properties "DoubleBuffer" die du findest auf True zu setzen.

Ist eigentlich schon geschehen.

Meine Lösung ist, im TdxCustomRibbonForm.AfterResize-Event die Aufrufe
Delphi-Quellcode:
SendMessage(ARibbonHandle, WM_SETREDRAW
herauszunehmen bzw. so zu verschieben, dass sie nur wirken, wenn wirklich etwas per Redraw-Window gezeichnet werden muss.

Bebe 10. Jan 2012 17:38

AW: [DevExpress-Ribbon] Flickern unterdrücken
 
Welche Version hast du von DevExpress installiert?

Eine Lösung hätte ich. Füge mal folgendes in deinem Formular ein, dann sollte es gehen.

Delphi-Quellcode:
type
  TdcRibbon = class(TdxCustomRibbon)
....
protected
    procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;

...

procedure TForm25.WMEraseBkgnd(var Message: TWMEraseBkgnd);
begin
  if UseSkin then // Ribbon Skin
    Message.Result := 1 // do nothing
  else
    inherited;
end;
Gruß
Matze

neo4a 10. Jan 2012 17:48

AW: [DevExpress-Ribbon] Flickern unterdrücken
 
Zitat:

Zitat von Bebe (Beitrag 1145262)
Welche Version hast du von DevExpress installiert?

Ich habe hier v2011 vol 1.8

Zitat:

Zitat von Bebe (Beitrag 1145262)
Füge mal folgendes in deinem Formular ein, dann sollte es gehen.

Perfekt. Ich danke Dir.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz