2011-09-22 26 views
5

Làm cách nào để sử dụng TTouchKeyboard trong Delphi, vì vậy nó có thể gửi tổ hợp phím đến chương trình khác. Ví dụ, tôi muốn gõ mật khẩu trong một trình duyệt bằng cách sử dụng thành phần TTouchKeyboard. Tôi không biết làm thế nào làm cho trình duyệt ở lại tập trung trong khi tôi đang nhấp vào bàn phím của tôi.TTouchKeyboard: gửi phím tắt cho chương trình khác?

Trả lời

10

TTouchKeyboard gửi những chìa khóa để kiểm soát hiện tại tập trung: vì vậy nếu bạn có một TEdit với tập trung, các TEdit sẽ nhận được chìa khóa ...

Bạn có thể tạo một hình thức, trong đó có các TTouchKeyboard và thêm thủ tục này:

protected 
    procedure CreateParams(var Params: TCreateParams); override; 

... 

procedure TForm1.CreateParams(var Params: TCreateParams); 
begin 
    inherited CreateParams(Params); 
    with Params do 
    begin 
    ExStyle := ExStyle or WS_EX_NOACTIVATE; 
    WndParent := GetDesktopwindow; 
    end; 
end; 

Biểu mẫu của bạn không thể lấy tiêu điểm ... vì vậy, khóa được gửi đến điều khiển tập trung trước đó. (Tôi vừa thử nghiệm nó và nó hoạt động: chìa khóa đã được gửi đến trang web này)

+0

Bingo! WS_EX_NOACTIVATE là những gì tôi cần. – user

+0

Điều này dường như không hoạt động đối với tôi, trong đó điều khiển mất tiêu điểm khi tôi nhấn một phím trên bàn phím ảo. Tôi đang thiếu gì? Tôi đang sử dụng XE2 trong trường hợp này. – SiBrit

Các vấn đề liên quan