Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Abfrage, welches TabSheet aktiviert ist


kiwicht - Fr 20.12.02 12:11
Titel: Abfrage, welches TabSheet aktiviert ist
Hallöle.....

ganz einfache Frage, aber ich bekomms trotzdem nicht hin:

Ich hab also einmal meine PageControl inklusive 3 TabSheets. Nun will ich diverse Menüpunkte de- bzw. aktivieren, je nachdem welches TabSheet gerade sichtbar ist.
Mit

Quelltext
1:
if PageControl.ActivePage := TabSheet then begin                    

hab ichs probiert, klappt nicht.

Und sonst find ich aber weiter keine Möglichkeiten das Abzufragen, außer das ich in den OnShow-Ereignissen der jeweiligen TabSheets die Menü-Steuerung vornehme, was mir aber zu unübersichtlich wird.

danke für eure hilfe
kiwicht


Tino - Fr 20.12.02 12:25

dann versuch es mal so:

Quelltext
1:
if PageControl.ActivePage = TabSheet then begin                    


Gruß
TINO


DeCodeGuru - Fr 20.12.02 12:30

Hallo,

guck dir auchn mal dieses Tutorial [http://www.auq.de/viewtopic.php?t=64] an. Das dürfte dir sicher weiter helfen. Besonders die Vergleichsoperatoren würde ich mir angucken. :)


kiwicht - Fr 20.12.02 13:09

ähm, ja gut, das mit dem doppel-punkt war n tip-fehler.... natürlich hab ich nur das ´=´ benutzt, von wegen boolean und so...
aber das tut werd ich mir mal zur gemüte ziehen.......

danke

kiwicht


kiwicht - Fr 20.12.02 13:28

bin wieder hier... und das tut hat mir ja goarnich weitergeholfen....
ich glaub ihr habt mein problem nit verstanden, lag wohl an meinem tippfehler mit dem doppelpunkt... :cry:

also nochma:

MainForm beinhaltet PageControl beinhaltet 3 x TabSheets

dann hab ich ne procedure TabsAktualisieren, wird u.a. aufgerufen bei
MainForm.Create, und da steht

Quelltext
1:
2:
3:
4:
if PageControl.ActivePage = TabSheet1 then begin
  Menupunkt1.Enabled := False
else if PageControl.AcitvePage = TabSheet2 then begin
  Menupunkt1.Enabled := True;

Aber leider funzt das nicht. Tippfehler sind diesmal glaub ich :) auch nicht drin, und die Menüpunkte werden partout nicht deaktiviert... :(

danke nochma
kiwicht

(20.12. 13:00 Tino) Code-Tags hinzugefügt.


Sharky - Fr 20.12.02 14:00

Setze das ganze doch einmal in das OnActivate Ereigniss!


Quelltext
1:
Menuepunkt1.Enabled := PageControl.ActivPage = TabSheet2;                    


a.C.k - Fr 20.12.02 16:34

ansonsten versuche es so...


Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.PageControl1Change(Sender: TObject);
begin
  if PageControl1.ActivePage = TabSheet1 then
    Menupunkt1.Enabled := False
  else
    Menupunkt1.Enabled := True;
end;