Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi reNamed: Runde Buttons werden nicht sauber angezeigt! (https://www.delphipraxis.net/11008-renamed-runde-buttons-werden-nicht-sauber-angezeigt.html)

DelphiUser7 29. Okt 2003 14:01


reNamed: Runde Buttons werden nicht sauber angezeigt!
 
Hi,
ich hab da SourceCode, mit dem ich runde Buttons erstellen kann; da gibt's nur ein Problem: es werden weiterhin Linien angezeigt, die auf eine (ehemals) 4-eckige Form hindeuten, und zwar unten und rechts => schwarz, oben und links => weiß;
Ich hab da so ne Theorie, dass es sich bei diesen Linien um die Randlinien der ursprünglichen Buttons handelt; wenn man sich nämlich einen Button in Delphi genauer ansieht, dann merkt man, dass genau diese Linien an den eben beschriebenen Seiten auftauchen;
ich würde diese Linien aber gern entfernen; ausserdem tauchen immer noch dieses gestrichelte Viereck auf, sobald ich auf den runden Button klicke, was natürlich bei dem runden Button etwas komisch aussieht; hat jemand eine Idee, wie ich dieses Viereck entweder auch noch rund machen, oder noch besser ganz entfernen kann?;
Hinweis: Mir ist noch aufgefallen, dass bei den normalen Windowsbuttons der gleiche Effekt auftritt; deshalb könnte es natürlich schwer werden, die (gestrichelten) Linien ganz zu 'entfernen'; aber rund machen sollte eigentlich möglich sein, oder? Die Frage ist nur: wie?
Hier noch der Quellcode, mit dem ich die Buttons rund gemacht habe (ihr könnt ihn ja auch mal für eure Zwecke verwenden :mrgreen: ):
Delphi-Quellcode:
var HR: HRgn;
    n: array[0..3] of TPoint;
begin
  with Form1 do begin // für euch: statt Form1 einfach den Namen der Komponente eingeben,
  //die ihr rundmachen wollt wollt;
   n[0]:=Point(Width div 2,1);
   n[1]:=Point(1, Height div 2);
   n[2]:=Point(Width div 2, Height);
   n[3]:=Point(Width, Height div 2);
   HR := CreateEllipticRgn(0, 0, Width, Height);
   SetWindowRgn(Handle, HR, true);
  end;
 skNormal.Checked := false;
 skAchteck.Checked := false;
end;
Gruss
DelphiUser7


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 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