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