![]() |
TTouchkeyboard in verschiedenen Forms
Hallo,
Ich habe hier eine Anwendung, für die ich ein Touchkeyboard verwenden will. Das funktioniert im Prinzip auch gut, allerdings hab ich folgende Frage: Ich habe einige (Unter-) Forms, die aus der Mainform aufgerufen werden. Aktuell schaffe ich es nicht, dass ich den Input von einem, im Mainform definiertem, Touchkeyboard, in die jeweils fokusierte Form (bzw. die dort focusierte Control) bringe. Gibt es da einen Trick, damit ich nicht in jede Form ein TTouchkeyboard einbinden muss? Vielen Dank Tomy |
AW: TTouchkeyboard in verschiedenen Forms
m.W. leider nein!
Wirst da glabe ich nicht drum herum zu kommen. Tastatureingabe dieses TouchKeyboards geht soweit mir bekannt immer ins fokussierte Steuerelement des Festers auf dem die ist. |
AW: TTouchkeyboard in verschiedenen Forms
Da beim Anklicken das Fenster den Fokus bekommt, kann die Eingabe auch nur in diesem Fenster landen.
Selbst wenn man jetzt die Eingabe abfangen würde, dann wüsste dieses Keyboard / dein Code aber auch nicht mehr, dass vorher ein anderes Fenster den Fokus hatte. Keyboard auf eine eigene Form, welche beim Klick in den Clientbereich nie den Fokus bekommen darf. Oder das Keyboard vom Windows nutzen.
Delphi-Quellcode:
C:\Windows\System32\osk.exe
SW_SHOWNOACTIVATE, WS_POPUPWINDOW und irgendwie sowas.
Delphi-Quellcode:
Liegt aber nicht am Delphi.
uses Winapi.ShellAPI;
procedure TForm2.Button1Click(Sender: TObject); begin // Lässt sich so aber nicht aus einen Win32-Programm aufrufen ... nur Win64, // oder du fängst an bissl zu pfuschen. ShellExecute(Self.Handle, nil, {'C:\Windows\System32\osk.exe'}'osk.exe', nil, nil, SW_SHOW); end; procedure TForm2.Button2Click(Sender: TObject); begin keybd_event(VK_LWIN, 0, 0, 0); keybd_event(VK_OEM_PERIOD, 0, 0, 0); keybd_event(VK_OEM_PERIOD, 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0); end; ![]() ![]() Und selbst die uralte virtuelle Tastatur
Delphi-Quellcode:
ist nur noch im Win64 verfügbar.
'TapTip.exe'
|
AW: TTouchkeyboard in verschiedenen Forms
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
AW: TTouchkeyboard in verschiedenen Forms
Vielen Dank für die Antworten und Ideen. Da es um ein 'privates' Projekt geht, muss ich mich mit dem Kunden (also mit mir) einig werden, welche Lösung Sinn macht. Da das nur auf 64Bit laufen wird, wäre das windows-keyboard vielleicht auch eine Idee.
@Uwe: Mein Programmierstil ist noch etwas älter als der in Deinem Beispiel. Ich habe das Programmieren stark strukturiert erlernt :-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:53 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