![]() |
RadioGroup Items Disablen
Hallöchen,
bin ich nur Blind, oder gibt es wirklich keine möglichkeit einzelne Items zu Disablen? Ich möchte sie wegen der Optik jetzt schon vorsehen, aber manche werde nur in späteren Versionen funktionieren, daher müsste ich welche ausschalten, aber ich finde einfach nichts. Es würde mir aber einiges erleichtern wenn ich damit arbeite, anstatt mit GroupBox und einzelnen CheckBoxen, wegen dem Index. Grüsse, Daniel :hi: |
Hier hast du mal 2 Lösungen. Die erste funktioniert immer. Die 2. müsste immer funktionieren. Es kann aber vorkommen, dass bei der 2. die Komponentenreihenfolge durch weitere Sub-Komponenten durcheinander gerät. Aber das jemand Komponenten mit TRadioGroup als Owner erzeugt habe ich noch nicht gesehen.
Delphi-Quellcode:
type
TRadioGroupPrivate = class(TCustomGroupBox) public FButtons: TList; { Wir müssen nur auf FButtons zugreifen können } end; function GetRadioButtonFromGroup(RadioGroup: TCustomRadioGroup; Index: Integer): TRadioButton; begin Result := TRadioButton(TRadioGroupPrivate(RadioGroup).FButtons[Index]); end; procedure TForm1.Button1Click(Sender: TObject); begin GetRadioButtonFromGroup(RadioGroup1, 3).Enabled := False; end; // 2. Lösung procedure TForm1.Button2Click(Sender: TObject); begin TRadioButton(RadioGroup1.Components[3]).Enabled := False; end; |
Hmm, es war jetzt nicht vorgesehen die Items zur Laufzeit einzuschalten. In späteren Versionen, wo die jeweiligen sachen unterstützt werden, gibts eh ne neue .exe. Da kann ich die dann wieder per Hand einschalten.
Man soll einfach nur sehen das bestimmte Funktionen irgendwann kommen. Ausserdem kann ich das Design so zusagen jetzt fertig machen und muss es später nicht mehr ändern. Dachte an ein einfaches "RadioButton.Enabled := False;" und ich einer neueren Verion stell ich die jeweiligen einfach wieder an. Sozusagen nur "Werbung" machen. ;) Aber trotzdem Danke für Deine Mühe! Grüsse, Daniel :hi: |
Ist aber doch eine Lösung. Dann machst du eine bedingte Kompilierung raus und dann kannst du das per Schalter im Source an- und ausschalten.
Also diese DEFINE und IFDEF und ENDDEF Dingens eben. :wink: |
Zitat:
Grüsse, Daniel :hi: |
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz