Delphi-PRAXiS

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 Seltsames Verhalten bei Pagecontrol (https://www.delphipraxis.net/132519-seltsames-verhalten-bei-pagecontrol.html)

DerAndereMicha 14. Apr 2009 14:46


Seltsames Verhalten bei Pagecontrol
 
Hallo,

mir ist etwas sehr Seltsames im Bezug auf des Handling von Shortcuts beim TPageControl-Objekt aufgefallen.

Angenommen ich lege auf dem PageControl 3 TabSheets an und gebe allen einen anderen Tastatur-Shortcut (z.B. TabSheet&1, TabSheet&2, TabSheet&3). Danach platziere ich einen normalen TButton auf dem Tabsheet3. Wenn ich nun auf das TabSheet3 wechsle, dort den Button anklicke (den Fokus hat nun der Button) und anschließen die Tasten 1 oder 2 (ohne ALT !!!) drücke, wechselt das Pagecontrol-Objekt auf den entsprechenden Reiter. Ist das wirklich so gewollt und wie kann ich dieses Verhalten verhindern - das funktioniert nämlich auch mit anderen Objekten außer dem Button und dabei kann dann auch ziemlich großer Mist rauskommen.

Gruß
Micha

DerAndereMicha 15. Apr 2009 08:31

Re: Seltsames Verhalten bei Pagecontrol
 
Hat wirklich keiner hier ne Idee?

hoika 15. Apr 2009 10:11

Re: Seltsames Verhalten bei Pagecontrol
 
Hallo,

quick und dirty

Plazier ein Edit (Left -10, Width +5) auf dem TabSheet
und mach ein Edit.SetFocus im OnButtonClick.


Heiko

DerAndereMicha 15. Apr 2009 10:27

Re: Seltsames Verhalten bei Pagecontrol
 
Hallo Heiko,

ich möchte doch aber, daß mein Control den Focus behält. Der Button war nur ein Beispiel - ich verwende z.B. ein DBGrid im NonEdit-Modus und möchte dort mit Hilfe von Tastatureingaben einige Filter setzen, was aber nicht möglich ist, da bei bestimmten Buchstaben (die Shortcuts!) ständig der Reiter gewechselt wird.

Außerdem kann ich auch mit Hilfe der Tastatur den Focus wechseln und nicht nur mit nem Mausclick. Und ein nutzloses Edit auf meinem Tabsheet sieht doch auch ein wenig doof aus, oder? Maximal ein Panel ... aber mit Fokusverlust ist auch das halt ein wenig sinnlos.

Gruß
Micha

hoika 15. Apr 2009 10:50

Re: Seltsames Verhalten bei Pagecontrol
 
Hallo,

das Problem habe ich auch bei einem normalen TStringGrid (Editierbar) + Buttons mit _ .

Lösung: auf die Unterstriche verzichten ...

Zum Edit.
Das sieht nicht doof aus, der Editor ist mit meinen Werten gar nicht sichtbar ...
Dann noch den TabStop weg und er schnappt sich nur den Focus
und verhindert das ständige Wechseln.

Bei dir die "Lösung" wäre also, auf die Unterstriche ganz zu verzichten.



Heiko

DerAndereMicha 15. Apr 2009 11:50

Re: Seltsames Verhalten bei Pagecontrol
 
Hallo Heiko,

das kann ich ja mal den Nutzern vorschlagen, die statt mit der Maus ausschließlich mit der Tastatur arbeiten ...

Das ist leider nicht akzeptabel :-(


Gruß
Micha

hoika 15. Apr 2009 13:26

Re: Seltsames Verhalten bei Pagecontrol
 
Hallo,

Strg+Tab wechselt die Tabsheets ...


Heiko

DerAndereMicha 15. Apr 2009 13:52

Re: Seltsames Verhalten bei Pagecontrol
 
Hallo,

und was mach ich wenn ich auf einem Tabsheet des Pagecontrols ein weiteres Pagecontrol mit mehreren Tabsheets habe? Mit STRG+Tab werden nämlich nur die Tabsheets des untersten Pagecontrols gewechselt ... bei mir jedenfalls.

Gruß
Micha

hoika 15. Apr 2009 14:49

Re: Seltsames Verhalten bei Pagecontrol
 
Hallo,

davon abgesehen, dass das kei gutes Design ist,
jaja, ich habe auch genau eine so ein Form drin,
kannst du in dem "tieferliegenden" Tabsheet die normalen Pfeiltasten
zum Wechseln der Tabsheets benutzen.
Um von der TabControl-Leiste auf das jeweiligen Tabsheet zu kommen,
gibt es wieder das Tab.


Heiko

DerAndereMicha 15. Apr 2009 15:35

Re: Seltsames Verhalten bei Pagecontrol
 
Alles klar, aber das ist mir alles zu viel "Umgehungstatbestand". Trotzdem danke.

Ich habe nun einfach ein anderes DBGrid genommen, bei dem ich das Wechseln einer Zelle in den Editiermodus statt mit dgEditing=False (das führt nämlich zu dem Verhalten) auf andere Weise verhindern kann - und schon gehts.

Gruß
Micha


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