Delphi-PRAXiS
Seite 1 von 2  1 2      

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/)
-   -   TPageControl Tabwechsel verhindern, aber wie ? (https://www.delphipraxis.net/138659-tpagecontrol-tabwechsel-verhindern-aber-wie.html)

khh 14. Aug 2009 10:51


TPageControl Tabwechsel verhindern, aber wie ?
 
irgendwie hab ich nen Denkfehler :-(


mit :

Delphi-Quellcode:
procedure Tartikelbearbeitenform.ArtikelPageControlChange(Sender: TObject);
begin
 if trim(artbez1edit.text) = '' then
    begin
      ShowMessage('blabla');
      self.artikelpagecontrol.activepage:= seite1TabSheet ;
    end;
end;

möchte ich eine Meldung anzeigen und den aktiven Tab beibehalten.
leider bringt er mir die Message 2mal, deshalb gehe ich maldavon aus, dass ich im falschen Ereignis arbeite?

Was mache ich falsch?

Gruss KH

ghost007 14. Aug 2009 11:06

Re: TPageControl die 2te
 
naja, du gibst eine msg aus, wenn es changed und dann changed du es in dem ereignes nochmal => 2 changes

khh 14. Aug 2009 11:09

Re: TPageControl die 2te
 
Zitat:

Zitat von ghost007
naja, du gibst eine msg aus, wenn es changed und dann changed du es in dem ereignes nochmal => 2 changes

logo :wall:

aber wie funktionierts richtig?

ghost007 14. Aug 2009 11:10

Re: TPageControl die 2te
 
ich versteh den sinn nich ganz :D willst du dass er bei der bedinung immer auf den tabsheet1, egal wo hin der user changed?

mkinzler 14. Aug 2009 11:11

Re: TPageControl die 2te
 
Verwende onChanging, dieses Ereignis wird vor dem Wechsel ausgelöst. Dort kannst du festlegen, ob der Wechsel erfolgen soll oder nicht.

khh 14. Aug 2009 11:12

Re: TPageControl die 2te
 
Zitat:

Zitat von ghost007
ich versteh den sinn nich ganz :D willst du dass er bei der bedinung immer auf den tabsheet1, egal wo hin der user changed?

ja richtig,
ich möchte den Tabwechsel erst dann zulassen, wenn im Editfeld ein Wert eingegeben wurde

khh 14. Aug 2009 11:16

Re: TPageControl die 2te
 
Zitat:

Zitat von mkinzler
Verwende onChanging, dieses Ereignis wird vor dem Wechsel ausgelöst. Dort kannst du festlegen, ob der Wechsel erfolgen soll oder nicht.

hatte ich mit dem selben code auch probiert, aber da wechselt er den tab trotzdem und bleibt dann in einer endlosschleife :-(

mkinzler 14. Aug 2009 11:18

Re: TPageControl die 2te
 
Du darfst auch nicht den selben Code verwenden, sondern den Parameter auf AllowChange auf false setzen.
Wie gesagt, wird dieses Ereignis vor dem Wechsel ausgelöst.

khh 14. Aug 2009 11:19

Re: TPageControl die 2te
 
Zitat:

Zitat von mkinzler
Du darfst auch nicht den selben Code verwenden, sondern den Parameter auf AllowChange auf false setzen.
Wie gesagt, wird dieses Ereignis vor dem Wechsel ausgelöst.

hab ich mir schon gedacht, dass der code so schrott ist :wall:

ich danke dir

EDIT: funktioniert :dancer2:

ghost007 14. Aug 2009 11:20

Re: TPageControl die 2te
 
Zitat:

Zitat von khh
Zitat:

Zitat von mkinzler
Du darfst auch nicht den selben Code verwenden, sondern den Parameter auf AllowChange auf false setzen.
Wie gesagt, wird dieses Ereignis vor dem Wechsel ausgelöst.

hab ich mir schon gedacht, dass der code so schrott ist :wall:

ich danke dir

Delphi-Quellcode:
procedure TForm1.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
end;
das ist was du suchst ;)


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