![]() |
Tastatur sperren wen...
Moin.
Ich wollte nur wiessen, wie mann Tastatur serren kann? Es ist für mein Project sehr wichtig, wenn ein Benutzer z.B. eine Taste drückt, dann muss die Tastatru gesperrt werden, :warn: aber die maus nicht! Es ist wichtig, dass die Maus funktionieren soll. Also wer kann mir helfen? |
Ein Tastatur Hook wäre wohl die Lösung. Aber darf man fragen, wo der tiefere Sinn liegt? Also warum das ganze? Eventuell gibt es noch eine einfachere Lösung.
|
Kein Problemm.
Also es ist für ein Spiel. Da muss man auf ein bewegenden Object drücken. Natürlich mit der Maus.Da es ziemlich einfach wäre mit der TAB Taste den Object zu erreichen, will ich die Tastatur sperren. Sobald der Benutzter da drauf klickt, kriegt er Punkte usw.! Eigentlich will ich noch eine Funktion einbauen. Also wenn der Benutzter die Maus schneller bewegt, bewegt sich der Object paralell schneller. Also so zu sagen ein geschicktlichkeits Spiel. :coder: |
Dann sperr doch einfach die tab-taste...
Gruß Jan |
Lustig, aber wie, ich würd geren die ganzen tasten ausschalten. 8)
|
hier wird beschrieben wie man tasten sperrt, und wenn du nur verhindern willst, dass man ein objekt per tab-taste erreichen kann, dann sollte das reichen, und du musst nicht die ganze tastatur sperren, was mich persönlich tierisch aufregen würde, weil man dann ja nichtmehr in den taskmanager kommen würde, oder das programm per shortcut beenden könnte:
![]() Gruß Jan |
haste recht, aber wie mach ich das ich habe das gelesen und nichts verstanden. Kann mir jemand ausfürlich alles schritt im schritt erklären?
|
Ähhmmm.....
warum nicht einfach bei dem Object TabStop := False ? |
Hallo Neo
das habe ich gefunden ,lag im mein SAM MANAGER *gg*
Delphi-Quellcode:
{Tastatur und Mauseingaben in der eigenen Applikation ignorieren?}
private procedure AppOnMessage(var Msg: TMsg; var Handled: Boolean); { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} var FConnected: Boolean; procedure TForm1.AppOnMessage(var Msg: TMsg; var Handled: Boolean); begin if FConnected then case Msg.Message of WM_KEYFIRST..WM_KEYLAST, // Keyboard events WM_MOUSEFIRST..WM_MOUSELAST: // Mouse events Handled := True end; end; procedure TForm1.FormCreate(Sender: TObject); begin Application.OnMessage := AppOnMessage; end; procedure TForm1.FormDestroy(Sender: TObject); begin Application.OnMessage := nil; end; procedure TForm1.Button1Click(Sender: TObject); begin FConnected := True; end; |
THX :mrgreen:
Hat jemand eine andere Idee? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 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 by Thomas Breitkreuz