Hallo Bernhard,
das hier ist wahrscheinlich nur ein Flüchtigkeitsfehler:
Delphi-Quellcode:
function MulDivPixelsPerInch(Value: Integer): Integer;
begin
if Assigned(Screen) then
// result := MulDiv(CheckBoxSize, Screen.PixelsPerInch, 96)
result := MulDiv(Value, Screen.PixelsPerInch, 96)
else
result := 1;
end;
Zu deinem eigentlichen Problem: in
diesem Thread wird vorgeschlagen, sich an der
TCheckListBox der
VCL zu orientieren. Dort gibt es eine Routine, welche die Dimension der Checkbox mit Hilfe einer System-Bitmap ermittelt:
Delphi-Quellcode:
var
FCheckWidth : Integer;
FCheckHeight : Integer;
procedure GetCheckSize;
begin
with TBitmap.Create
do
try
Handle := LoadBitmap(0, PChar(OBM_CHECKBOXES));
FCheckWidth := Width
div 4;
FCheckHeight := Height
div 3;
finally
Free;
end;
end;
Vielleicht hilft es.
Gruß Hawkeye