Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#1

TCheckBox zu schnal bei large fonts (150%)

  Alt 4. Feb 2014, 09:45
Hallo #,

ich teste hier gerade mal large Fonts.
Manche meiner CheckBoxen werdne bei 150% zu schnal angezeuigt.

Leider hat TCheckBox ja kein AutoSize.

Der Ansatz hier hilft nicht.
http://www.delphigroups.info/3/9/172328.html

Darauf aufbauend meine weiteren Bemühungen ...

Delphi-Quellcode:
          

var
  ACheckBox: TCheckBox

  iCxCheck := GetSystemMetrics(SM_CXMENUCHECK);
  dFactor := PixelsPerInch/96;

  if PixelsPerInch>96 then
  begin
    iCxCheck:= Round(iCxCheck*dFactor);
  end;



          ACheckBox := TCheckBox(Component);
          if PixelsPerInch=96 then
          begin
            iCheckBoxWidth := iCxCheck+4+Self.Canvas.TextWidth(ACheckBox.Caption);
          end
          else
          begin
            iCheckBoxWidth := iCxCheck+Round(4*dFactor)+Self.Canvas.TextWidth(ACheckBox.Caption);
          end;
          if iCheckBoxWidth>ACheckBox.Width then
          begin
            ACheckBox.Width := iCheckBoxWidth;
          end;
Klappt aber nicht

#Update:#
Das iCxCheck war immer noch zu klein,
jetzt klappt es

*freu*


Heiko
Heiko

Geändert von hoika ( 4. Feb 2014 um 09:49 Uhr)
  Mit Zitat antworten Zitat