Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TCategoryButtons Problem (https://www.delphipraxis.net/46731-tcategorybuttons-problem.html)

Rastaman 30. Mai 2005 15:58


TCategoryButtons Problem
 
Hallo. Ich hab ein Problem mit den Categorybuttons.
Und zwar möchte ich, dass immer nur eine Kategorie aufgeklappt ist und es nicht möglich ist, mehrere aufzuklappen.
Wenn man jetzt eine nicht geöfnete auswählt, soll sich die aktuell geöffnete schließen.
Ich habs schon mit IF Abfrage bei "onCategoryCollapse" probiert, aber da kam ein Stacküberlauf. KA wieso. Hoffe ihr könnt mir helfen.

Meflin 30. Mai 2005 16:02

Re: TCategoryButtons Problem
 
Zitat:

Zitat von Gerrit89
Ich habs schon mit IF Abfrage bei "onCategoryCollapse" probiert, aber da kam ein Stacküberlauf. KA wieso. Hoffe ihr könnt mir helfen.

Code könnte helfen, da Kristallkugeln sehr teuer geworden sind, und meine ist zerbrochen :cry:


Rastaman 30. Mai 2005 16:10

Re: TCategoryButtons Problem
 
Naja und der Witz is auch ausgelutscht :roll:
Auf jeden Fall hatte ich danach nich gespeichert aber so ähnlich hats ausgesehn.

Delphi-Quellcode:
procedure TfrmMain.ctbMainCategoryCollapase(Sender: TObject;
  const Category: TButtonCategory);
begin

  If Category.Caption = 'kategorie 1' then
  begin

    ctbMain.Categories[0].Collapsed := False;
    ctbMain.Categories[1].Collapsed := True;
    ctbMain.Categories[2].Collapsed := True;
    ctbMain.Categories[3].Collapsed := True;

  end;

  If Category.Caption = 'kategorie 2' then
  begin

    ctbMain.Categories[0].Collapsed := True;
    ctbMain.Categories[1].Collapsed := False;
    ctbMain.Categories[2].Collapsed := True;
    ctbMain.Categories[3].Collapsed := True;

  end;

  If Category.Caption = 'kategorie 3' then
  begin

    ctbMain.Categories[0].Collapsed := True;
    ctbMain.Categories[1].Collapsed := True;
    ctbMain.Categories[2].Collapsed := False;
    ctbMain.Categories[3].Collapsed := True;

  end;

  If Category.Caption = 'kategorie 4' then
  begin

    ctbMain.Categories[0].Collapsed := True;
    ctbMain.Categories[1].Collapsed := True;
    ctbMain.Categories[2].Collapsed := True;
    ctbMain.Categories[3].Collapsed := False;

  end;

end;

alcaeus 30. Mai 2005 16:11

Re: TCategoryButtons Problem
 
Hallo Gerrit,

ich denke mal dass ein Setzen von Collapsed nochmals das Ereignis ausloest.
Setze die EventVariable (onCategoryCollapse) auf nil, und am Ende der Routine wieder auf deine Funktion. Das sollte helfen.

Greetz
alcaeus

Rastaman 30. Mai 2005 16:17

Re: TCategoryButtons Problem
 
Delphi-Quellcode:
  ctbMain.OnCategoryCollapase := ctbMainCategoryCollapase;
Am anfang wirds halt auf nil gesetzt.
Aber es scheint nich ganz zu klappen, denn wenn ich was ändere schließt sich nichts anderes.
Hab ich die Prozedur falsch aufgerufen oder so?

//EDIT : ES KLAPPT !! Hab nur vergessen die Captions richtig zu setzen :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:20 Uhr.

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