@@ -13,7 +13,7 @@ interface
1313uses
1414 Classes, SysUtils, { $IFDEF FPC} LCLType, LResources, LMessages,{ $ENDIF} Forms, Controls, Graphics, Dialogs,
1515 { $IFNDEF FPC} Types, Windows, Messages, BGRAGraphics, GraphType, FPImage, BCBaseCtrls,{ $ENDIF}
16- BCThemeManager, BCButton, BCPanel, MouseAndKeyInput ;
16+ BCThemeManager, BCButton, BCPanel, LCLIntf ;
1717
1818type
1919
@@ -85,17 +85,27 @@ procedure TBCKeyboard.SetFThemeManager(AValue: TBCThemeManager);
8585end ;
8686
8787procedure TBCKeyboard.PressVirtKey (p: PtrInt);
88+ var
89+ Target: TWinControl;
8890begin
89- KeyInput.Down(p);
90- KeyInput.Up(p);
91+ Target := Screen.ActiveControl;
92+ if Target = nil then Exit;
93+
94+ LCLIntf.SendMessage(Target.Handle, LM_KEYDOWN, p, 1 );
95+ LCLIntf.SendMessage(Target.Handle, LM_KEYUP, p, 1 );
9196end ;
9297
9398procedure TBCKeyboard.PressShiftVirtKey (p: PtrInt);
99+ var
100+ Target: TWinControl;
94101begin
95- KeyInput.Down(VK_SHIFT);
96- KeyInput.Down(p);
97- KeyInput.Up(p);
98- KeyInput.Up(VK_SHIFT);
102+ Target := Screen.ActiveControl;
103+ if Target = nil then Exit;
104+
105+ LCLIntf.SendMessage(Target.Handle, LM_KEYDOWN, VK_SHIFT, 1 );
106+ LCLIntf.SendMessage(Target.Handle, LM_KEYDOWN, p, 1 );
107+ LCLIntf.SendMessage(Target.Handle, LM_KEYUP, p, 1 );
108+ LCLIntf.SendMessage(Target.Handle, LM_KEYUP, VK_SHIFT, 1 );
99109end ;
100110
101111procedure TBCKeyboard.OnButtonClick (Sender: TObject; Button: TMouseButton;
0 commit comments