Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Pro Radiobutton ein Panel (https://www.delphipraxis.net/163072-pro-radiobutton-ein-panel.html)

KHW 14. Sep 2011 18:34

Pro Radiobutton ein Panel
 
Guten Tag,

ich habe ein Problem, und zwar habe ich einige verschiedenen Inhalte die ich je nach Wahl des Nutzers anzeigen lassen möchte.
Mein lösungsansatz ist einige Panels zu erstellen, die diese Inhalte "tragen" und für jedes Panel ein Radiobutton zuzuordnen, um das jeweilige Panel anzuzeigen.
Abgesehen von der Tatsache, dass ich glaube dass dieser Weg ziemlich umständlich ist ( anderes übersteigt mein derzeitiges Können als Anfänger)habe ich außerdem ein Problem den Plan umzusetzen.

Delphi-Quellcode:
if Radiobutton1.checked then panelbewegung.visible := true
      else panelbewegung.visible := false ;
Dieser Code soll , wie ihr euch sicher denken könnt, bewirken dass man das Panel sieht wenn der entsprechende RB ausgewählt ist, und nicht sichtbar ist , wenn er nicht ausgewählt ist.
Es wird zwar angezeigt wenn ich den RB anklick', aber ich kann das panel nicht wieder verschwinden lassen.

Ein komplett neuer Weg(also nicht mit Panels und RBs) mein Problem zu lösen wäre mir auch sehr recht.

Danke im Vorraus.

:-D:-D

DeddyH 14. Sep 2011 18:49

AW: Pro Radiobutton ein Panel
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo und Willkommen in der DP :dp:,

Dein Ansatz mit Panels kann zwar funktionieren, aber Du kannst Dir auch einmal die Komponente TPageControl ansehen. Dessen einzelne Seiten (vom Typ TTabSheet) kannst Du auch anzeigen oder eben nicht. Wenn Du TabVisible der einzelnen TabSheets auf false setzt, dann kannst Du etwas ähnliches bauen wie die allgemein bekannten Assistenten.

Zu dem Problem mit dem RadioButton: nimm einfach eine RadioGroup und definiere dort die RadioButtons über deren Items-Eigenschaft. Im OnChange der RadioGroup kannst Du dann über den ItemIndex abfragen, welcher RadioButton gerade ausgewählt ist.

[edit] Ich hab da mal was vorbereitet (siehe Anhang) [/edit]

KHW 14. Sep 2011 19:59

AW: Pro Radiobutton ein Panel
 
Die Lösung mit dem TPageControl scheint mir sehr sympathisch , aber ich würde dich bitten mir das noch einmal detaillierter zu erklären, wie ich mein ziel erreichen kann.:oops:

Danke.

hans ditter 14. Sep 2011 20:19

AW: Pro Radiobutton ein Panel
 
Hey und herzlich Willkommen in der DP :dp: !

Zu dem PageControl. Du ziehst die Komponente PageControl auf deine Form, stellst in den Eigenschaften des PageControl TabVisible auf false und fügst beliebig viele TabSheets hinzu (ebenfalls machbar über die Einstellungen). Auf den Tabsheets kannst du dann Komponenten platzieren.

Wenn dann ein RadioButton angeklickt wirt, kannst du über dein PageControl das entsprechende TabSheet anzeigen lassen. Den genauen Befehl weiß ich grad nicht aus dem Kopf, lässt sich aber schnell herausfinden... :oops:

Alles andere siehst du, wenn du auf F9 drückst! ;)

Viel Glück und Spaß!
hans ditter

KHW 14. Sep 2011 20:29

AW: Pro Radiobutton ein Panel
 
Das klingt machbar , vielen vielen Dank.

Mach mich gleich mal dran :)

hathor 14. Sep 2011 22:19

AW: Pro Radiobutton ein Panel
 
Delphi-Quellcode:
if RadioButton1.checked:=true then PageControl1.ActivePage:= TabSheet1;
if RadioButton2.checked:=true then PageControl1.ActivePage:= TabSheet2;
usw.

Darlo 14. Sep 2011 22:51

AW: Pro Radiobutton ein Panel
 
Nur mal aus dem Kopf raus:
Code:
for i := 1 to anzahlTabSheet do
  if TRadioButton(FindComponent('RadioButton'+inttostr(i))).checked then
    begin
      pageControl1.ActivePage := TTabSheet(FindComponent('TabSheet'+inttostr(i)));
      break;
    end;

DeddyH 15. Sep 2011 07:03

AW: Pro Radiobutton ein Panel
 
Schau doch einfach in mein Beispielprojekt, da steht doch kaum Code drin. Entscheidend ist die Methode
Delphi-Quellcode:
procedure TfrmMain.rgChoosePageClick(Sender: TObject);
begin
  pcPages.ActivePageIndex := rgChoosePage.ItemIndex;
end;
Dabei ist rgChoosePage die Radiogroup und pcPages das PageControl.

yörsch 15. Sep 2011 09:17

AW: Pro Radiobutton ein Panel
 
Wir haben ne ganze menge solcher Fubktionalität..
also
Anwenderauswahl dann Zeig was anderes an...
Die Anwender auswahl ist da mal ein RadioButton, eine ein bestimmter Zahlen Wert...

Wenn immer es möglich ist, hab wir das was angezeigt werden soll, auf Frames drauf geschoben.
Das mit den Frames hat den Vorteil, das das ganze Kapseln kann und das Frame gut wiederverwenden kann

Jetzt kann ich entscheiden ob und wo und wie das ganze Angezeigt werden. #
Im Fenster , als Teil in einer TNodeBook, TPageControl, etc.

Oder was wir auch machen : Oberflächen voll Dynamich aufbauen... Das ist aber etwas zu aufändig für kleinere Sachen..

Was die aber keine abnehmen kann ist eine wie auch immer gearetetes Maping

was heißt:
Bedingung erfüllt = Erzeuge / Zeige an

KHW 15. Sep 2011 18:17

AW: Pro Radiobutton ein Panel
 
Ich hab herausgefundenm dass ich auf die Pagecntrol keine Komponente setzen kann (button, label,edit)
oder ich mach was falsch...somit nutzt mir dieses nichts :( :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:11 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz