AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mehreren RadioGroups eine Anweisung zuweisen

Ein Thema von moperswings · begonnen am 7. Feb 2007 · letzter Beitrag vom 9. Feb 2007
Antwort Antwort
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#1

Re: Mehreren RadioGroups eine Anweisung zuweisen

  Alt 7. Feb 2007, 14:36
Ich bin mir nicht sicher, ob ich Dich richtig verstehe. Eine Möglichkeit wäre, einen einheitlichen EventHandler für alle RadioGroups einer TabPage festzulegen:
Delphi-Quellcode:
procedure TabPage1_RadioGroupsClick(Sender: TObject)
begin
  button1.visible := (RadioGroup1.ItemIndex >= 0)
                 and (RadioGroup2.ItemIndex >= 0)
                 and (RadioGroup3.ItemIndex >= 0);
end;
Das kann noch erweitert werden mit einer Regelung für das ganze PageControl:
Delphi-Quellcode:
procedure PageControl_RadioGroupsClick(Sender: TObject)
var ActualPage: TTabSheet;
    i0: int;
    Result: bool;
    btnWeiter: TButton;
begin
  ActualPage := (Sender as TPageControl).ActivePage;
  Result := false;
  btnWeiter := nil;
  // alle Controls der aktiven Seite durchgehen
  for i0 := 0 to ActualPage.Controls.Count - 1
  do begin
    // wenn es sich um eine RadioGroup handelt, dann ItemIndex prüfen
    if ActualPage.Controls[i0] is TRadioGroup
    then Result := Result and ((ActivePage.Controls[i0] as TRadioGroup).ItemIndex >= 0)
    else begin
      if ActualPage.Controls[i0] is TButton
      then begin
        if (ActualPage.Controls[i0] as TButton).Caption = 'Weiter'
        then btnWeiter := ActualPage.Controls[i0] as TButton;
      end;
    end;
  end;
  // Ergebnis zuordnen
  btnWeiter.visible := Result;
end;
Wenn die Maßnahmen nicht klar sind, bitte in der Hilfe nachschlagen; danach kann ich es noch erläutern.

Viel Erfolg! Jürgen

/Edit: Das zweite Verfahren habe ich mit der Prüfung des Buttons noch verbessert. Siehe die Erläuterungen in #5.

PS. Ohne Gewähr - siehe meine Signatur.
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:25 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-2025 by Thomas Breitkreuz