Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#6

Re: Icon close max mimi.

  Alt 28. Dez 2003, 14:27
In den Eingenschaften des Bildschirms kann ja die Breite der Titelleiste eingestellt werden.
Diese Breite muß ausgelesen und um 4 Pixel (ist jetzt ein reine Schätzwert, also besser noch mal Testen, ob es auch stimmt) verringert werden. Das ergibt dann die Breite/Höhe des Buttons.
Dann muß noch die Schriftgröße (Button.Font.Height) angepasst werden, also das letzte Maß nochmal um 6-8 Pixel verringern.

z.B.:
Delphi-Quellcode:
Button.Height := Höhe_der_Titelleiste - 4;
Button.Width := Button.Height;
{Button.Font.Name := 'Marlett';}
Button.Font.Height := Max(Button.Height - 6, 1);

{Max ist zur Sicherheit, damit keine negative Schrifthöhe entstehen kann}
{Da die Titelleiste minimal 8 Pixel hoch sein kann, könnte so auch mal, mit den hier im Beispiel verwendeten Werten (-4 & -6), -2 für die Schrifthöhe entstehen}
Wie die Höhe der Titelleiste ausgelesen wird weiß ich jetzt nicht, bin aber sicher, dass es hier schon irgendwo in der DP steht.
Ich hatte mir bis jetzt nicht die Mühe gemacht, es gibt ja auch "dreckige Methoden".

Delphi-Quellcode:
{Dafür braucht man nur ein Formular mit der entsprechenden Titelleiste und so}
Höhe_der_Titelleiste := {Form1.}Height - {Form1.}ClientHeight - ({Form1.}Width - {Form1.}ClientWidth) div 2
[add]
Es könnte auch sein, dass der Schriftsyle noch geändert werden muß.

z.B.:Button.Font.Style := [fsBold];
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat