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
):
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
Shell...wieso musste ausgerechnet Shell Teil einer Programmiersprache werden...wieso nicht Esso, Aral oder Dea;
MfG
DelphiUser7