Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#3

AW: D2010: TRadioButton.Font.Color

  Alt 17. Mai 2011, 12:59
Selber basteln. Einfach von Checkbox ableiten und ein Label dazugeben. LabelClick leitet man auf die Checkbox um und CheckBox.Caption auf den Label.

(bzw. TRadioButton, weis nicht wo ich Checkbox gelesen habe )
Delphi-Quellcode:
type
  TRadioButtonLabel = class(TRadioButton)
  private
    FLabel : TLabel;
    procedure LabelClickHandler(Sender: TObject);
  public
    constructor Create(AOwner: TComponent); override;
  end;

implementation

constructor TRadioButtonLabel.Create(AOwner: TComponent);
const
  RadioButtonWidth = 20; // über Systemmetrics ermitteln
begin
  inherited;
  Width := RadioButtonWidth;
  FLabel := TLabel.Create(AOwner);
  FLabel.Top := Top +2;
  FLabel.Left := Left + RadioButtonWidth;
  FLabel.Caption := Caption;
  FLabel.OnClick := LabelClickHandler;
  Caption := '';

  if AOwner is TWinControl then
  begin
    Parent := TWinControl(AOwner);
    FLabel.Parent := TWinControl(AOwner);
  end;
end;

procedure TRadioButtonLabel.LabelClickHandler(Sender: TObject);
begin
  Perform(WM_LBUTTONDOWN, 0,0);
  Perform(WM_LBUTTONUP, 0,0);
end;
Geht schon, Propertys für die Label-Optik war ich jetzt zu faul.

Geändert von Satty67 (17. Mai 2011 um 13:22 Uhr)
  Mit Zitat antworten Zitat