![]() |
PageControl - Wechsel zwischen Tabsheet per Tastatur sperren
Hallo Gemeinde,
wie kann man verhindern, das ein User per Taste Links oder Rechts zwischen den einzelnen Tabsheets wechseln kann? Es gibt ja keine Tastenabfrage "OnKEy" in diesem Fall. Danke vorab. Matthias |
AW: PageControl - Wechsel zwischen Tabsheet per Tastatur sperren
Moin, also ich würde es ausblenden, als User klickt man aufs Tab und es tut sich nichts, ist auch "unerwartet ..."
|
AW: PageControl - Wechsel zwischen Tabsheet per Tastatur sperren
Es ging mir um die cursortasten nicht um die Maustasten.
Zitat:
|
AW: PageControl - Wechsel zwischen Tabsheet per Tastatur sperren
Hi Mat78
Versuch mal dies bei OnKeyDown des PageControls:
Delphi-Quellcode:
Alternativ dazu könntest du bei entsprechendem Tastendruck auch PageControl.ActivPage zwischenspeichern und wieder zuweisen.
case Key of of
VK_Left : Key := #0; VKDown : Key := #0; VK_Right: Key := #0; VK_UP : Key := #0; end; Die virtuellen Tastaturcodes müsstest du nachprüfen. Ausserdem könnte es sein, dass das Pagecontrol in anderm Zusammenhang auf eben diese Tasten reagieren können muss. Gruss Delbor |
AW: PageControl - Wechsel zwischen Tabsheet per Tastatur sperren
Hallo,
Du könntest die WndProc ändern, so dass sie nicht auf keyboard reagiert, könnte man vielleicht noch genauer ausfiltern:
Delphi-Quellcode:
type
TPageControl=class(Vcl.ComCtrls.TPageControl) protected procedure WndProc(var Message: TMessage); override; end; ...
Delphi-Quellcode:
Gruß
procedure TPageControl.WndProc(var Message: TMessage);
begin if (Message.Msg < WM_KEYFIRST) or (Message.Msg > WM_KEYLAST) then inherited; end; |
AW: PageControl - Wechsel zwischen Tabsheet per Tastatur sperren
Oder KeyPreview=True und dann im Event der Form.
|
AW: PageControl - Wechsel zwischen Tabsheet per Tastatur sperren
Hi, OnKeyDown des PageControls ? Das gibt es nicht.
Zitat:
|
AW: PageControl - Wechsel zwischen Tabsheet per Tastatur sperren
Hallo, das habe ich schon versucht, funktioniert auch . Problem: dadurch ist aber auch der Rest betroffen auf der Form (Editfelder zum BEispiel)
Zitat:
|
AW: PageControl - Wechsel zwischen Tabsheet per Tastatur sperren
Es ist ja nicht so, dass man dort nicht auf Self.ActiveControl oder Screen.ActiveControl prüfen könnte und das dann nur dann macht, wenn es nötig ist. :angle2:
|
AW: PageControl - Wechsel zwischen Tabsheet per Tastatur sperren
Dankö für den Tipp, nun funktioniert es.
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz