diff --git a/demos/Delphi_FMX/FMXExternalPumpBrowser/uFMXApplicationService.pas b/demos/Delphi_FMX/FMXExternalPumpBrowser/uFMXApplicationService.pas
index 2396144a..d69c4e60 100644
--- a/demos/Delphi_FMX/FMXExternalPumpBrowser/uFMXApplicationService.pas
+++ b/demos/Delphi_FMX/FMXExternalPumpBrowser/uFMXApplicationService.pas
@@ -75,13 +75,8 @@ type
implementation
uses
- FMX.Forms,
- uFMXExternalPumpBrowser,
- uCEFFMXWorkScheduler,
- {$IFDEF MSWINDOWS}
- Winapi.Messages, Winapi.Windows,
- {$ENDIF}
- uCEFApplication, uCEFConstants;
+ FMX.Forms, {$IFDEF MSWINDOWS}Winapi.Messages, Winapi.Windows,{$ENDIF}
+ uFMXExternalPumpBrowser, uCEFFMXWorkScheduler, uCEFApplication, uCEFConstants;
class procedure TFMXApplicationService.AddPlatformService;
begin
@@ -198,6 +193,18 @@ begin
(Application.MainForm is TFMXExternalPumpBrowserFrm) then
TFMXExternalPumpBrowserFrm(Application.MainForm).HandleSYSKEYUP(TempMsg);
+ WM_KEYDOWN :
+ if not(Application.Terminated) and
+ (Application.MainForm <> nil) and
+ (Application.MainForm is TFMXExternalPumpBrowserFrm) then
+ TFMXExternalPumpBrowserFrm(Application.MainForm).HandleKEYDOWN(TempMsg);
+
+ WM_KEYUP :
+ if not(Application.Terminated) and
+ (Application.MainForm <> nil) and
+ (Application.MainForm is TFMXExternalPumpBrowserFrm) then
+ TFMXExternalPumpBrowserFrm(Application.MainForm).HandleKEYUP(TempMsg);
+
WM_POINTERDOWN,
WM_POINTERUPDATE,
WM_POINTERUP :
diff --git a/demos/Delphi_FMX/FMXExternalPumpBrowser/uFMXExternalPumpBrowser.fmx b/demos/Delphi_FMX/FMXExternalPumpBrowser/uFMXExternalPumpBrowser.fmx
index a4582bcb..741cb6bc 100644
--- a/demos/Delphi_FMX/FMXExternalPumpBrowser/uFMXExternalPumpBrowser.fmx
+++ b/demos/Delphi_FMX/FMXExternalPumpBrowser/uFMXExternalPumpBrowser.fmx
@@ -101,7 +101,6 @@ object FMXExternalPumpBrowserFrm: TFMXExternalPumpBrowserFrm
OnMouseUp = Panel1MouseUp
OnMouseLeave = Panel1MouseLeave
OnMouseWheel = Panel1MouseWheel
- OnKeyUp = Panel1KeyUp
OnKeyDown = Panel1KeyDown
end
object chrmosr: TFMXChromium
diff --git a/demos/Delphi_FMX/FMXExternalPumpBrowser/uFMXExternalPumpBrowser.pas b/demos/Delphi_FMX/FMXExternalPumpBrowser/uFMXExternalPumpBrowser.pas
index ab0803b3..a39dd12d 100644
--- a/demos/Delphi_FMX/FMXExternalPumpBrowser/uFMXExternalPumpBrowser.pas
+++ b/demos/Delphi_FMX/FMXExternalPumpBrowser/uFMXExternalPumpBrowser.pas
@@ -78,7 +78,6 @@ type
procedure Panel1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single);
procedure Panel1MouseLeave(Sender: TObject);
procedure Panel1MouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; var Handled: Boolean);
- procedure Panel1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);
procedure Panel1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);
procedure FormCreate(Sender: TObject);
@@ -101,6 +100,7 @@ type
procedure Timer1Timer(Sender: TObject);
procedure AddressEdtEnter(Sender: TObject);
+
procedure SnapshotBtnClick(Sender: TObject);
procedure SnapshotBtnEnter(Sender: TObject);
@@ -146,6 +146,8 @@ type
procedure HandleSYSCHAR(const aMessage : TMsg);
procedure HandleSYSKEYDOWN(const aMessage : TMsg);
procedure HandleSYSKEYUP(const aMessage : TMsg);
+ procedure HandleKEYDOWN(const aMessage : TMsg);
+ procedure HandleKEYUP(const aMessage : TMsg);
function HandlePOINTER(const aMessage : TMsg) : boolean;
{$ENDIF}
end;
@@ -212,6 +214,8 @@ begin
GlobalCEFApp.MultiThreadedMessageLoop := False;
GlobalCEFApp.OnScheduleMessagePumpWork := GlobalCEFApp_OnScheduleMessagePumpWork;
//GlobalCEFApp.EnableGPU := True;
+ //GlobalCEFApp.LogFile := 'debug.log';
+ //GlobalCEFApp.LogSeverity := LOGSEVERITY_INFO;
end;
procedure TFMXExternalPumpBrowserFrm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
@@ -332,32 +336,6 @@ var
begin
if not(Panel1.IsFocused) then exit;
- if (Key <> 0) and (KeyChar = #0) then
- begin
- TempKeyEvent.kind := KEYEVENT_RAWKEYDOWN;
- TempKeyEvent.modifiers := getModifiers(Shift);
- TempKeyEvent.windows_key_code := Key;
- TempKeyEvent.native_key_code := 0;
- TempKeyEvent.is_system_key := ord(False);
- TempKeyEvent.character := #0;
- TempKeyEvent.unmodified_character := #0;
- TempKeyEvent.focus_on_editable_field := ord(False);
-
- chrmosr.SendKeyEvent(@TempKeyEvent);
-
- if (Key in [VK_LEFT, VK_RIGHT, VK_UP, VK_DOWN, VK_TAB]) then Key := 0;
- end;
-end;
-
-procedure TFMXExternalPumpBrowserFrm.Panel1KeyUp( Sender : TObject;
- var Key : Word;
- var KeyChar : Char;
- Shift : TShiftState);
-var
- TempKeyEvent : TCefKeyEvent;
-begin
- if not(Panel1.IsFocused) then exit;
-
if (Key = 0) and (KeyChar <> #0) then
begin
TempKeyEvent.kind := KEYEVENT_CHAR;
@@ -372,36 +350,9 @@ begin
chrmosr.SendKeyEvent(@TempKeyEvent);
end
else
- if (Key <> 0) and (KeyChar = #0) then
- begin
- if (Key = VK_RETURN) then
- begin
- // FMX doesn't trigger this event with a KeyChar<>0
- // to send a KEYEVENT_CHAR event for the VK_RETURN key.
- // We add it manually before the KEYEVENT_KEYUP event.
- TempKeyEvent.kind := KEYEVENT_CHAR;
- TempKeyEvent.modifiers := getModifiers(Shift);
- TempKeyEvent.windows_key_code := VK_RETURN;
- TempKeyEvent.native_key_code := 0;
- TempKeyEvent.is_system_key := ord(False);
- TempKeyEvent.character := #0;
- TempKeyEvent.unmodified_character := #0;
- TempKeyEvent.focus_on_editable_field := ord(False);
-
- chrmosr.SendKeyEvent(@TempKeyEvent);
- end;
-
- TempKeyEvent.kind := KEYEVENT_KEYUP;
- TempKeyEvent.modifiers := getModifiers(Shift);
- TempKeyEvent.windows_key_code := Key;
- TempKeyEvent.native_key_code := 0;
- TempKeyEvent.is_system_key := ord(False);
- TempKeyEvent.character := #0;
- TempKeyEvent.unmodified_character := #0;
- TempKeyEvent.focus_on_editable_field := ord(False);
-
- chrmosr.SendKeyEvent(@TempKeyEvent);
- end;
+ if (Key <> 0) and (KeyChar = #0) and
+ (Key in [VK_LEFT, VK_RIGHT, VK_UP, VK_DOWN, VK_TAB]) then
+ Key := 0;
end;
procedure TFMXExternalPumpBrowserFrm.Panel1MouseDown(Sender : TObject;
@@ -1002,6 +953,58 @@ begin
end;
end;
+procedure TFMXExternalPumpBrowserFrm.HandleKEYDOWN(const aMessage : TMsg);
+var
+ TempKeyEvent : TCefKeyEvent;
+begin
+ if Panel1.IsFocused then
+ begin
+ TempKeyEvent.kind := KEYEVENT_RAWKEYDOWN;
+ TempKeyEvent.modifiers := GetCefKeyboardModifiers(aMessage.wParam, aMessage.lParam);
+ TempKeyEvent.windows_key_code := integer(aMessage.wParam);
+ TempKeyEvent.native_key_code := integer(aMessage.lParam);
+ TempKeyEvent.is_system_key := ord(False);
+ TempKeyEvent.character := #0;
+ TempKeyEvent.unmodified_character := #0;
+ TempKeyEvent.focus_on_editable_field := ord(False);
+
+ chrmosr.SendKeyEvent(@TempKeyEvent);
+ end;
+end;
+
+procedure TFMXExternalPumpBrowserFrm.HandleKEYUP(const aMessage : TMsg);
+var
+ TempKeyEvent : TCefKeyEvent;
+begin
+ if Panel1.IsFocused then
+ begin
+ if (aMessage.wParam = VK_RETURN) then
+ begin
+ TempKeyEvent.kind := KEYEVENT_CHAR;
+ TempKeyEvent.modifiers := GetCefKeyboardModifiers(aMessage.wParam, aMessage.lParam);
+ TempKeyEvent.windows_key_code := integer(aMessage.wParam);
+ TempKeyEvent.native_key_code := integer(aMessage.lParam);
+ TempKeyEvent.is_system_key := ord(False);
+ TempKeyEvent.character := #0;
+ TempKeyEvent.unmodified_character := #0;
+ TempKeyEvent.focus_on_editable_field := ord(False);
+
+ chrmosr.SendKeyEvent(@TempKeyEvent);
+ end;
+
+ TempKeyEvent.kind := KEYEVENT_KEYUP;
+ TempKeyEvent.modifiers := GetCefKeyboardModifiers(aMessage.wParam, aMessage.lParam);
+ TempKeyEvent.windows_key_code := integer(aMessage.wParam);
+ TempKeyEvent.native_key_code := integer(aMessage.lParam);
+ TempKeyEvent.is_system_key := ord(False);
+ TempKeyEvent.character := #0;
+ TempKeyEvent.unmodified_character := #0;
+ TempKeyEvent.focus_on_editable_field := ord(False);
+
+ chrmosr.SendKeyEvent(@TempKeyEvent);
+ end;
+end;
+
function TFMXExternalPumpBrowserFrm.HandlePOINTER(const aMessage : TMsg) : boolean;
begin
Result := Panel1.IsFocused and
diff --git a/demos/Delphi_FMX/FMXTabbedBrowser/FMXTabbedBrowser.dproj b/demos/Delphi_FMX/FMXTabbedBrowser/FMXTabbedBrowser.dproj
index e86a526a..d0069177 100644
--- a/demos/Delphi_FMX/FMXTabbedBrowser/FMXTabbedBrowser.dproj
+++ b/demos/Delphi_FMX/FMXTabbedBrowser/FMXTabbedBrowser.dproj
@@ -6,7 +6,7 @@
FMXTabbedBrowser.dpr
True
Debug
- Win32
+ Win64
3
Application
diff --git a/demos/Delphi_FMX/FMXTabbedOSRBrowser/FMXTabbedOSRBrowser.dproj b/demos/Delphi_FMX/FMXTabbedOSRBrowser/FMXTabbedOSRBrowser.dproj
index 425b7197..fc9ede49 100644
--- a/demos/Delphi_FMX/FMXTabbedOSRBrowser/FMXTabbedOSRBrowser.dproj
+++ b/demos/Delphi_FMX/FMXTabbedOSRBrowser/FMXTabbedOSRBrowser.dproj
@@ -6,7 +6,7 @@
FMXTabbedOSRBrowser.dpr
True
Debug
- Win64
+ Win32
3
Application
diff --git a/demos/Delphi_FMX/FMXTabbedOSRBrowser/uBrowserFrame.fmx b/demos/Delphi_FMX/FMXTabbedOSRBrowser/uBrowserFrame.fmx
index fabda59b..bc172641 100644
--- a/demos/Delphi_FMX/FMXTabbedOSRBrowser/uBrowserFrame.fmx
+++ b/demos/Delphi_FMX/FMXTabbedOSRBrowser/uBrowserFrame.fmx
@@ -125,7 +125,6 @@ object BrowserFrame: TBrowserFrame
OnMouseUp = FMXBufferPanel1MouseUp
OnMouseLeave = FMXBufferPanel1MouseLeave
OnMouseWheel = FMXBufferPanel1MouseWheel
- OnKeyUp = FMXBufferPanel1KeyUp
OnKeyDown = FMXBufferPanel1KeyDown
end
object FMXChromium1: TFMXChromium
diff --git a/demos/Delphi_FMX/FMXTabbedOSRBrowser/uBrowserFrame.pas b/demos/Delphi_FMX/FMXTabbedOSRBrowser/uBrowserFrame.pas
index bdb456bb..0bb66d25 100644
--- a/demos/Delphi_FMX/FMXTabbedOSRBrowser/uBrowserFrame.pas
+++ b/demos/Delphi_FMX/FMXTabbedOSRBrowser/uBrowserFrame.pas
@@ -81,7 +81,6 @@ type
procedure FMXBufferPanel1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single);
procedure FMXBufferPanel1MouseLeave(Sender: TObject);
procedure FMXBufferPanel1MouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; var Handled: Boolean);
- procedure FMXBufferPanel1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);
procedure FMXBufferPanel1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);
procedure FMXChromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
@@ -147,6 +146,8 @@ type
procedure HandleSYSCHAR(const aMessage : TMsg);
procedure HandleSYSKEYDOWN(const aMessage : TMsg);
procedure HandleSYSKEYUP(const aMessage : TMsg);
+ procedure HandleKEYDOWN(const aMessage : TMsg);
+ procedure HandleKEYUP(const aMessage : TMsg);
function HandlePOINTER(const aMessage : TMsg) : boolean;
{$ENDIF}
@@ -281,30 +282,6 @@ var
begin
if not(FMXBufferPanel1.IsFocused) then exit;
- if (Key <> 0) and (KeyChar = #0) then
- begin
- TempKeyEvent.kind := KEYEVENT_RAWKEYDOWN;
- TempKeyEvent.modifiers := getModifiers(Shift);
- TempKeyEvent.windows_key_code := Key;
- TempKeyEvent.native_key_code := 0;
- TempKeyEvent.is_system_key := ord(False);
- TempKeyEvent.character := #0;
- TempKeyEvent.unmodified_character := #0;
- TempKeyEvent.focus_on_editable_field := ord(False);
-
- FMXChromium1.SendKeyEvent(@TempKeyEvent);
-
- if (Key in [VK_LEFT, VK_RIGHT, VK_UP, VK_DOWN, VK_TAB]) then Key := 0;
- end;
-end;
-
-procedure TBrowserFrame.FMXBufferPanel1KeyUp(Sender: TObject; var Key: Word;
- var KeyChar: Char; Shift: TShiftState);
-var
- TempKeyEvent : TCefKeyEvent;
-begin
- if not(FMXBufferPanel1.IsFocused) then exit;
-
if (Key = 0) and (KeyChar <> #0) then
begin
TempKeyEvent.kind := KEYEVENT_CHAR;
@@ -319,36 +296,9 @@ begin
FMXChromium1.SendKeyEvent(@TempKeyEvent);
end
else
- if (Key <> 0) and (KeyChar = #0) then
- begin
- if (Key = VK_RETURN) then
- begin
- // FMX doesn't trigger this event with a KeyChar<>0
- // to send a KEYEVENT_CHAR event for the VK_RETURN key.
- // We add it manually before the KEYEVENT_KEYUP event.
- TempKeyEvent.kind := KEYEVENT_CHAR;
- TempKeyEvent.modifiers := getModifiers(Shift);
- TempKeyEvent.windows_key_code := VK_RETURN;
- TempKeyEvent.native_key_code := 0;
- TempKeyEvent.is_system_key := ord(False);
- TempKeyEvent.character := #0;
- TempKeyEvent.unmodified_character := #0;
- TempKeyEvent.focus_on_editable_field := ord(False);
-
- FMXChromium1.SendKeyEvent(@TempKeyEvent);
- end;
-
- TempKeyEvent.kind := KEYEVENT_KEYUP;
- TempKeyEvent.modifiers := getModifiers(Shift);
- TempKeyEvent.windows_key_code := Key;
- TempKeyEvent.native_key_code := 0;
- TempKeyEvent.is_system_key := ord(False);
- TempKeyEvent.character := #0;
- TempKeyEvent.unmodified_character := #0;
- TempKeyEvent.focus_on_editable_field := ord(False);
-
- FMXChromium1.SendKeyEvent(@TempKeyEvent);
- end;
+ if (Key <> 0) and (KeyChar = #0) and
+ (Key in [VK_LEFT, VK_RIGHT, VK_UP, VK_DOWN, VK_TAB]) then
+ Key := 0;
end;
procedure TBrowserFrame.FMXBufferPanel1MouseDown(Sender: TObject;
@@ -1093,6 +1043,58 @@ begin
FMXChromium1.SendKeyEvent(@TempKeyEvent);
end;
end;
+
+procedure TBrowserFrame.HandleKEYDOWN(const aMessage : TMsg);
+var
+ TempKeyEvent : TCefKeyEvent;
+begin
+ if FMXBufferPanel1.IsFocused then
+ begin
+ TempKeyEvent.kind := KEYEVENT_RAWKEYDOWN;
+ TempKeyEvent.modifiers := GetCefKeyboardModifiers(aMessage.wParam, aMessage.lParam);
+ TempKeyEvent.windows_key_code := integer(aMessage.wParam);
+ TempKeyEvent.native_key_code := integer(aMessage.lParam);
+ TempKeyEvent.is_system_key := ord(False);
+ TempKeyEvent.character := #0;
+ TempKeyEvent.unmodified_character := #0;
+ TempKeyEvent.focus_on_editable_field := ord(False);
+
+ FMXChromium1.SendKeyEvent(@TempKeyEvent);
+ end;
+end;
+
+procedure TBrowserFrame.HandleKEYUP(const aMessage : TMsg);
+var
+ TempKeyEvent : TCefKeyEvent;
+begin
+ if FMXBufferPanel1.IsFocused then
+ begin
+ if (aMessage.wParam = VK_RETURN) then
+ begin
+ TempKeyEvent.kind := KEYEVENT_CHAR;
+ TempKeyEvent.modifiers := GetCefKeyboardModifiers(aMessage.wParam, aMessage.lParam);
+ TempKeyEvent.windows_key_code := integer(aMessage.wParam);
+ TempKeyEvent.native_key_code := integer(aMessage.lParam);
+ TempKeyEvent.is_system_key := ord(False);
+ TempKeyEvent.character := #0;
+ TempKeyEvent.unmodified_character := #0;
+ TempKeyEvent.focus_on_editable_field := ord(False);
+
+ FMXChromium1.SendKeyEvent(@TempKeyEvent);
+ end;
+
+ TempKeyEvent.kind := KEYEVENT_KEYUP;
+ TempKeyEvent.modifiers := GetCefKeyboardModifiers(aMessage.wParam, aMessage.lParam);
+ TempKeyEvent.windows_key_code := integer(aMessage.wParam);
+ TempKeyEvent.native_key_code := integer(aMessage.lParam);
+ TempKeyEvent.is_system_key := ord(False);
+ TempKeyEvent.character := #0;
+ TempKeyEvent.unmodified_character := #0;
+ TempKeyEvent.focus_on_editable_field := ord(False);
+
+ FMXChromium1.SendKeyEvent(@TempKeyEvent);
+ end;
+end;
function TBrowserFrame.HandlePOINTER(const aMessage : TMsg) : boolean;
begin
diff --git a/demos/Delphi_FMX/FMXTabbedOSRBrowser/uBrowserTab.pas b/demos/Delphi_FMX/FMXTabbedOSRBrowser/uBrowserTab.pas
index 2af8f2b6..d1843f1d 100644
--- a/demos/Delphi_FMX/FMXTabbedOSRBrowser/uBrowserTab.pas
+++ b/demos/Delphi_FMX/FMXTabbedOSRBrowser/uBrowserTab.pas
@@ -70,6 +70,8 @@ type
procedure HandleSYSCHAR(const aMessage : TMsg);
procedure HandleSYSKEYDOWN(const aMessage : TMsg);
procedure HandleSYSKEYUP(const aMessage : TMsg);
+ procedure HandleKEYDOWN(const aMessage : TMsg);
+ procedure HandleKEYUP(const aMessage : TMsg);
function HandlePOINTER(const aMessage : TMsg) : boolean;
function PostFormMessage(aMsg : cardinal; aWParam : WPARAM = 0; aLParam : LPARAM = 0) : boolean;
{$ENDIF}
@@ -189,6 +191,18 @@ begin
FBrowserFrame.HandleSYSKEYUP(aMessage);
end;
+procedure TBrowserTab.HandleKEYDOWN(const aMessage : TMsg);
+begin
+ if (FBrowserFrame <> nil) then
+ FBrowserFrame.HandleKEYDOWN(aMessage);
+end;
+
+procedure TBrowserTab.HandleKEYUP(const aMessage : TMsg);
+begin
+ if (FBrowserFrame <> nil) then
+ FBrowserFrame.HandleKEYUP(aMessage);
+end;
+
function TBrowserTab.HandlePOINTER(const aMessage : TMsg) : boolean;
begin
Result := (FBrowserFrame <> nil) and
diff --git a/demos/Delphi_FMX/FMXTabbedOSRBrowser/uFMXApplicationService.pas b/demos/Delphi_FMX/FMXTabbedOSRBrowser/uFMXApplicationService.pas
index 70fdec62..876bd59d 100644
--- a/demos/Delphi_FMX/FMXTabbedOSRBrowser/uFMXApplicationService.pas
+++ b/demos/Delphi_FMX/FMXTabbedOSRBrowser/uFMXApplicationService.pas
@@ -75,11 +75,8 @@ type
implementation
uses
- FMX.Forms,
- uMainForm,
- uCEFFMXWorkScheduler,
- Winapi.Messages, Winapi.Windows,
- uCEFApplication, uCEFConstants;
+ FMX.Forms, {$IFDEF MSWINDOWS}Winapi.Messages, Winapi.Windows,{$ENDIF}
+ uMainForm, uCEFFMXWorkScheduler, uCEFApplication, uCEFConstants;
class procedure TFMXApplicationService.AddPlatformService;
begin
@@ -196,6 +193,18 @@ begin
(Application.MainForm is TMainForm) then
TMainForm(Application.MainForm).HandleSYSKEYUP(TempMsg);
+ WM_KEYDOWN :
+ if not(Application.Terminated) and
+ (Application.MainForm <> nil) and
+ (Application.MainForm is TMainForm) then
+ TMainForm(Application.MainForm).HandleKEYDOWN(TempMsg);
+
+ WM_KEYUP :
+ if not(Application.Terminated) and
+ (Application.MainForm <> nil) and
+ (Application.MainForm is TMainForm) then
+ TMainForm(Application.MainForm).HandleKEYUP(TempMsg);
+
WM_POINTERDOWN,
WM_POINTERUPDATE,
WM_POINTERUP :
diff --git a/demos/Delphi_FMX/FMXTabbedOSRBrowser/uMainForm.pas b/demos/Delphi_FMX/FMXTabbedOSRBrowser/uMainForm.pas
index 2a9b172c..eec1efb6 100644
--- a/demos/Delphi_FMX/FMXTabbedOSRBrowser/uMainForm.pas
+++ b/demos/Delphi_FMX/FMXTabbedOSRBrowser/uMainForm.pas
@@ -104,6 +104,8 @@ type
procedure HandleSYSCHAR(const aMessage : TMsg);
procedure HandleSYSKEYDOWN(const aMessage : TMsg);
procedure HandleSYSKEYUP(const aMessage : TMsg);
+ procedure HandleKEYDOWN(const aMessage : TMsg);
+ procedure HandleKEYUP(const aMessage : TMsg);
function HandlePOINTER(const aMessage : TMsg) : boolean;
function PostCustomMessage(aMsg : cardinal; aWParam : WPARAM = 0; aLParam : LPARAM = 0) : boolean;
{$ENDIF}
@@ -423,6 +425,18 @@ begin
TBrowserTab(BrowserTabCtrl.ActiveTab).HandleSYSKEYUP(aMessage);
end;
+procedure TMainForm.HandleKEYDOWN(const aMessage : TMsg);
+begin
+ if (BrowserTabCtrl.ActiveTab <> nil) then
+ TBrowserTab(BrowserTabCtrl.ActiveTab).HandleKEYDOWN(aMessage);
+end;
+
+procedure TMainForm.HandleKEYUP(const aMessage : TMsg);
+begin
+ if (BrowserTabCtrl.ActiveTab <> nil) then
+ TBrowserTab(BrowserTabCtrl.ActiveTab).HandleKEYUP(aMessage);
+end;
+
function TMainForm.HandlePOINTER(const aMessage : TMsg) : boolean;
begin
Result := (BrowserTabCtrl.ActiveTab <> nil) and
diff --git a/demos/Delphi_FMX/FMXToolBoxBrowser/FMXToolBoxBrowser.dproj b/demos/Delphi_FMX/FMXToolBoxBrowser/FMXToolBoxBrowser.dproj
index 8d7863f8..49cd2805 100644
--- a/demos/Delphi_FMX/FMXToolBoxBrowser/FMXToolBoxBrowser.dproj
+++ b/demos/Delphi_FMX/FMXToolBoxBrowser/FMXToolBoxBrowser.dproj
@@ -6,7 +6,7 @@
FMXToolBoxBrowser.dpr
True
Debug
- Win32
+ Win64
3
Application
diff --git a/demos/Delphi_FMX/SimpleFMXBrowser/SimpleFMXBrowser.dproj b/demos/Delphi_FMX/SimpleFMXBrowser/SimpleFMXBrowser.dproj
index a8a7918e..a05697cc 100644
--- a/demos/Delphi_FMX/SimpleFMXBrowser/SimpleFMXBrowser.dproj
+++ b/demos/Delphi_FMX/SimpleFMXBrowser/SimpleFMXBrowser.dproj
@@ -6,7 +6,7 @@
SimpleFMXBrowser.dpr
True
Debug
- Win32
+ Win64
3
Application
diff --git a/packages/CEF4Delphi_FMX.res b/packages/CEF4Delphi_FMX.res
index 89743307..391381f9 100644
Binary files a/packages/CEF4Delphi_FMX.res and b/packages/CEF4Delphi_FMX.res differ
diff --git a/update_CEF4Delphi.json b/update_CEF4Delphi.json
index 59830009..2b945a20 100644
--- a/update_CEF4Delphi.json
+++ b/update_CEF4Delphi.json
@@ -2,7 +2,7 @@
"UpdateLazPackages" : [
{
"ForceNotify" : true,
- "InternalVersion" : 123,
+ "InternalVersion" : 124,
"Name" : "cef4delphi_lazarus.lpk",
"Version" : "81.2.22.0"
}