Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TabSheet + onclick (https://www.delphipraxis.net/119159-tabsheet-onclick.html)

julchen 21. Aug 2008 08:59


TabSheet + onclick
 
(Verständnisfrage)
Hallo,

ich möchte, dass bei einem Klick auf ein TabSheet ein Befehl ausgeführt wird.
Ich bekomme aber nicht raus, wie das Funktioniert, ohne selber wie in meinem
Beispiel eine procedure zu schreiben. Das muss doch viel einfacher gehen,
sonst wäre doch onclick als Ereignis im TabSheet schon enthalten -
denn, warum auch nicht?
:gruebel:
Delphi-Quellcode:
procedure TForm1.TabSheet1OnClick(Sender: TObject);
begin
        Form1.Color := clred;
end;

procedure TForm1.TabSheet2OnClick(Sender: TObject);
begin
        Form1.Color := clblue;
end;

procedure TForm1.PageControl1Change(Sender: TObject);
begin
        TabSheet1.OnShow := TabSheet1Onclick;
        TabSheet2.OnShow := TabSheet2OnClick;
end;

Butch87 21. Aug 2008 09:17

Re: TabSheet + onclick
 
du brauchst doch nur, statt dem PageControl den Tabsheet anklicken und dann im OI das gewünschte ereignis auswählen! Wahrscheinlich stehst du die ganze zeit auf dem PageControl und nicht auf dem einzelnen Tabsheet! Über dem OI ist doch sone Baumstruktur mit den Komponenten. Da einfach den Tabsheet auswählen und der Rest geht dann über OI

soulies 21. Aug 2008 09:18

Re: TabSheet + onclick
 
hoi,

nimm das ereignis onShow des tabsheets, dann sollte es klappen


cya

taaktaak 21. Aug 2008 09:40

Re: TabSheet + onclick
 
Nur mal so am Rande bemerkt: Mein Delphi7 kennt kein OnClick() des TabSheets.

julchen 21. Aug 2008 09:43

Re: TabSheet + onclick
 
Zitat:

Zitat von Butch87
du brauchst doch nur, statt dem PageControl den Tabsheet anklicken und dann im OI das gewünschte ereignis auswählen!

? Das gewünschte Ereignis fehlt ja mit OnClick ?

@souleis: Und wie setze ich das anders mit OnShow um, - und einfacher, als ich es in meinem Beispiel schon getan habe?

taaktaak 21. Aug 2008 09:46

Re: TabSheet + onclick
 
Delphi-Quellcode:
procedure TForm1.TabSheet1OnShow(Sender: TObject);
begin
  Form1.Color := clred;
end;

procedure TForm1.TabSheet2OnShow(Sender: TObject);
begin
  Form1.Color := clblue;
end;

Butch87 21. Aug 2008 09:48

Re: TabSheet + onclick
 
Zitat:

Zitat von julchen
? Das gewünschte Ereignis fehlt ja mit OnClick ?

gibts da auch kein MouseDown?!? is ja :wall:

julchen 21. Aug 2008 09:48

Re: TabSheet + onclick
 
Zitat:

Zitat von taaktaak
Delphi-Quellcode:
procedure TForm1.TabSheet1OnShow(Sender: TObject);
begin
  Form1.Color := clred;
end;

procedure TForm1.TabSheet2OnShow(Sender: TObject);
begin
  Form1.Color := clblue;
end;

Ja, das ist logisch! D.h. statt eine procedure mit OnClick zu schreiben, schreibe ich OnShow und spare mir so den "Umweg" über das PageControl!
Danke!
[EDIT]Ich spare mir gar nichts, weil ich die Ereignisse ja trotzdem im OI eintragen muss[/EDIT]

Butch87 21. Aug 2008 09:57

Re: TabSheet + onclick
 
Und wenn jetzt noch 5 tabsheets dazu kommen, hast du noch 5 Prozeduren mehr! Weise doch jedem Tabsheet einen Tag zu!!

Delphi-Quellcode:
Case PageControl1.ActivePage.Tag of
       1: Form1.Color:= blue;
       2: Form1.Color:= red;
       .
       .
       .
end;
edit: Das case muss natürlich in das OnChange des PageControl!!!! (wie sirius es andeutet)

sirius 21. Aug 2008 10:05

Re: TabSheet + onclick
 
Häh, willst du jetzt ein Ereignis, wenn das Tabsheet wechselt? Dann nimm doch onChange des Pagecontrols.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:40 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