Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

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 PageControl (https://www.delphipraxis.net/154-pagecontrol.html)

jbg 15. Jun 2002 14:34

Meldet der Compiler die Fehlermeldung, oder das Programm, wenn es läuft? Wenn das Programm die Meldung bringt (was ich annehme), dann weist du MyShow nicht nur dem OnShow-Ereignis der TTabSheets zu, sondern noch irgend einem anderen Objekt.

Privateer3000 15. Jun 2002 14:36

du nimmst richtig...werde das mal prüfen
Danke

Privateer3000 15. Jun 2002 14:58

Jetzt krieg ich gleich die Mücken..
jetzt geht halbwegs...aber der Witz ist:
a) kommt immer die gleiche ShowMessage
b) kommt sie nur wenn ich aufs Form klicke und nicht auf den Tabsheet
(Mein Hund guckt schon komisch..wegen meinen Kraftausdrücken die ab und zu in den Raum schallen)

Code:
unit Unit5;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, StdCtrls;

type
  TForm5 = class(TForm)
    PageControl1: TPageControl;
    procedure FormCreate(Sender: TObject);
    private
    { Private-Deklarationen }
    procedure Myclick (Sender: TObject);
     
    public
    end;

var
  Form5: TForm5;

implementation

{$R *.DFM}

procedure TForm5.Myclick(Sender: TObject);
begin
    case TTabsheet(Sender).Tag of
      0 : ShowMessage('Jawoll');
      1 : ShowMessage('jawoll1');
    end;
end;

procedure TForm5.FormCreate(Sender: TObject);
var
  i: integer;
begin
  PageControl1.MultiLine := True;
  with PageControl1 do
    for i := 0 to 12 do
      with TTabSheet.Create(Self) do
      begin
        PageControl := PageControl1;
        Caption := IntToStr(i);
        Tag := i;
        onClick := Myclick;
        case i of
          0 : Caption :='Einleitung';
          1 : Caption :='Gerechtigkeitsstreben';
          2 : Caption :='Kampfbereitschaft';
          3 : Caption :='Sicherheitsstreben';
          4 : Caption :='Harmoniebedürfnis';
          5 : Caption :='Fröhlichkeit';
          6 : Caption :='Fremdbestimmung';
          7 : Caption :='Sentimentalität';
          8 : Caption :='Hilfsbereitschaft';
          9 : Caption :='Intellektualität';
          10 : Caption :='Erfolgswille';
          11 : Caption :='Sensibilität';
          12 : Caption :='Selbstbestimmung';
        end;
     end;
end;

end.

jbg 15. Jun 2002 15:09

Ich hab den Fehler:
Das onClick := Myclick; bezieht sich auf TForm5 und nicht auf TTabSheet, da TTabSheet gar kein OnClick Ereignis hat. Das "OnClick"-Ereignis für die Register kannst du im OnChange von TPageControl abfangen:
Code:
procedure TForm5.PageControl1Change(Sender: TObject);
begin
  case PageControl1.ActivePage.TabIndex of
    0: ...
    1: ...
  end;
end;
Das OnShow von TTabSheet wäre aber glaube ich besser. Ich weiß natürlich auch nicht, was du genau damit vor hast. Probiere einfach beides aus und entscheide dann, was besser ist.

Privateer3000 15. Jun 2002 18:37

yepp!

Activepage, genau das wars!!
Danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:52 Uhr.
Seite 4 von 4   « Erste     234   

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