我看到你關於提示:TTouchKeyboard: send keystroke to other programTTouchKeyboard:發送擊鍵到相同的程序?
如何我可以給的鑰匙,其他形式在同一個Delphi應用程序?
如何使用TTouchKeyboard調用窗體? (顯示,showModal,參數?)
謝謝!
我看到你關於提示:TTouchKeyboard: send keystroke to other programTTouchKeyboard:發送擊鍵到相同的程序?
如何我可以給的鑰匙,其他形式在同一個Delphi應用程序?
如何使用TTouchKeyboard調用窗體? (顯示,showModal,參數?)
謝謝!
的ShowModal是一個糟糕的主意......你專注來電...
你仍然可以使用相同的尖端與包含鍵盤,以保持禁用窗體...
然後,你可以添加一個屬性,該屬性的形式應該是按鍵的句柄。
最後,你砍的TTouchKeyboard
將焦點設置與您先前設置的手柄形式...
比如你TTouchKeyboard
黑客可能是這樣的:
type
TMyKeyboard = class(TTouchKeyboard)
protected
procedure WndProc(var Message: TMessage); override;
end;
type
TForm1 = class(TForm)
。 ..
private
fHandleOfTheTargetForm: HWND;
public
property HandleOfTheTargetForm: HWND read fHandleOfTheTargetForm write fHandleOfTheTargetForm;
...
procedure TMyKeyboard.WndProc(var Message: TMessage);
begin
if (Assigned(Form1)) then
begin
if Form1.HandleOfTheTargetForm <> 0 then
begin
SetForegroundWindow(HandleOfTheTargetForm);
end;
end;
inherited;
end;
您可以找到一個快速演示項目here。
嗨,我嘗試了上面的提示,但不工作。我可以通過郵件向您發送一個小項目,或者您向我發送一個正在運行的項目嗎?我的電子郵件[email protected],非常感謝! –
@JeanAlysson:我在回答結尾處添加了一個鏈接,並附有演示項目。 – Whiler
好的,謝謝你的幫助,但是有沒有如何通過點擊按鈕來調用KeyboardForm,檢索內容並設置在目標窗體中並在需要時關閉它? –
你在說什麼?請鏈接。 –