Die Eigenschaft hat beides:
Delphi-Quellcode:
function tBtnCheck.GetChecked;
begin
Result := (PFState = cbChecked);
end;
procedure tBtnCheck.SetChecked(val: Boolean);
begin
if val then PFState := cbChecked else PFState := cbUnchecked;
CheckImg.Visible := val;
Paint;
end;
Zusatz:
Wenn man mal weg vom Quelltext darüber nachdenkt, erscheint dieser Zustand als völlig logisch, da im Objektinspektor bzw. Formulareditor die Eigenschaft Visible keine Auswirkung hat.
Ich habe es nun so abgeändert und nun funktioniert es zu meiner Zufriedenheit:
Delphi-Quellcode:
procedure tBtnCheck.SetChecked(val: Boolean);
begin
if val then begin
PFState := cbChecked;
CheckImg.Picture.Bitmap.LoadFromResourceName(HInstance,'BMPCHECK');
end else begin
PFState := cbUnchecked;
CheckImg.Picture.Bitmap := nil;
end;
CheckImg.Visible := val;
CheckImg.Invalidate;
end;