AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Editfeld auf Notebookseite aktivieren

Ein Thema von MrSpock · begonnen am 26. Apr 2014 · letzter Beitrag vom 27. Apr 2014
Antwort Antwort
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#1

Editfeld auf Notebookseite aktivieren

  Alt 26. Apr 2014, 20:39
Hallo,

habe auf einem NoteBook 2 Seiten. Wenn ich auf eine der beiden Seite wechsle, soll der Cursor in einem bestimmten EditFeld auf der neu ausgewählten Seite stehen. Das habe ich so versucht:

Delphi-Quellcode:
void __fastcall TAnmeldeForm::NoteBookChange(TObject *Sender, int NewTab, bool &AllowChange)

{
   if (NewTab == 0) {
      BenutzerReg->SetFocus();
   }

   else
      BenutzerAnm->SetFocus();
   AllowChange = True;
}
Wenn ich durch Anklicken eines reiters die Seite wechsle, steht der Cursor aber nicht in dem EditFeld. Warum nicht?
Albert
Live long and prosper


MrSpock

Geändert von MrSpock (26. Apr 2014 um 21:11 Uhr)
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#2

AW: Editfeld auf Notebookseite aktivieren

  Alt 26. Apr 2014, 22:53
Hallo,

Zitat:
Wenn ich durch Anklicken eines reiters die Seite wechsle, steht der Cursor aber nicht in dem EditFeld. Warum nicht?
vermutlich liegt es daran, dass in dem Moment, in dem das NoteBookChange durchlaufen wird, der Reiter, auf dem das TEdit BenuterAnm liegt noch nicht aktiv / sichtbar ist; damit ist das TEdit selbst nicht sichtbar und kann daher den Fokus nicht erhalten (deaktiviertes oder unsichtbares Fenster kein Fokus). Die entsprechende Exception wird wohl irgendwo gefangen.

Aber wieso ein TabbedNotebook? Warum kein PageControl? Mit einem PageControl klappt das (entweder im OnChange, besser im OnShow des Reiters).

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Editfeld auf Notebookseite aktivieren

  Alt 27. Apr 2014, 11:50
Hallo Volker,

danke für den Tip. Hab jetzt ein PageControl verwendet. Da funktioniert es wie gewollt.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: Editfeld auf Notebookseite aktivieren

  Alt 27. Apr 2014, 12:19
Jupp, das Notebook ist ja eh "Schrott".

Beim PageControl gibt es doch auch noch ein OnChanging (vor dem Umblättern) und OnChange für dach.
Wie bereits bermutet, hätte es da wohl auch Changing/BeforeChange heißen müssen.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#5

AW: Editfeld auf Notebookseite aktivieren

  Alt 27. Apr 2014, 13:32
Ja, das hatte ich auch schon vermutet. Weiß auch nicht, warum ich nicht gleich die PageControl Komponente benutzte habe.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Editfeld auf Notebookseite aktivieren

  Alt 27. Apr 2014, 18:38
Was mir letztens mal wieder auf die Füße gefallen ist, das kann man auch absichtlich ausnutzen.

Delphi-Quellcode:
BenutzerAnm->Show();
BenutzerAnm->SetFocus();
Visible:=True und Show verhalten sich an anders, denn Show macht die Komponente "wirklich" sichtbar.
z.B. werden da gern mal Parents ebenfalls auf Visible:=True umgeschaltet und PageControls werden auf die jeweilige Seite umgeblättert.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:35 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