Wenn ich dich recht verstehe?
Könntest du nicht einfach einen SpeedButton mit dem Attribut Flat auf True gesetzt benutzen und darauf ein Häkchen als Glyph laden wenn gescheckt.
Als function könnte man dann nehmen:
Delphi-Quellcode:
function BtnChecked(aSpeedButton: tspeedbutton): Boolean;
begin
With aSpeedButton do
if Glyph= nil then Result:= False else Result:= True;
end;
procedure Tform.SpeedButtonKlick(sender: Tobject);
begin
If SpeedButton.Glyph= nil then SpeedButton.Glyph.LoadFromFile('a.bmp') else SpeedButton.Glyph:= nil;
end;
//Anwendung
if BtnChecked(SpeedButton) then...
Sry, wenn ich falsch verstanden habe, oder wenn es nicht funktioniert. Habe den gerade einfach mal geschrieben! ^^ (!nicht getestet!)