mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2024-11-24 08:02:15 +02:00
ca8bc9dff4
Added the PDS file to extract the HTML Help files using PasDoc Added more XML documentation Fixed some XML errors. Removed the license copy from the pas units. Updated the LICENSE.md file
83 lines
1.8 KiB
ObjectPascal
83 lines
1.8 KiB
ObjectPascal
unit uCEFWindowParent;
|
|
|
|
{$IFDEF FPC}
|
|
{$MODE OBJFPC}{$H+}
|
|
{$ENDIF}
|
|
|
|
{$I cef.inc}
|
|
|
|
{$IFNDEF TARGET_64BITS}{$ALIGN ON}{$ENDIF}
|
|
{$MINENUMSIZE 4}
|
|
|
|
interface
|
|
|
|
uses
|
|
{$IFDEF DELPHI16_UP}
|
|
{$IFDEF MSWINDOWS}WinApi.Windows, WinApi.Messages,{$ENDIF} System.Classes, Vcl.Controls, Vcl.Graphics,
|
|
{$ELSE}
|
|
{$IFDEF MSWINDOWS}Windows,{$ENDIF} Classes, Forms, Controls, Graphics,
|
|
{$IFDEF FPC}
|
|
LCLProc, LCLType, LCLIntf, LResources, LMessages, InterfaceBase,
|
|
{$ELSE}
|
|
Messages,
|
|
{$ENDIF}
|
|
{$ENDIF}
|
|
uCEFWinControl, uCEFTypes, uCEFInterfaces, uCEFConstants;
|
|
|
|
type
|
|
{$IFNDEF FPC}{$IFDEF DELPHI16_UP}[ComponentPlatformsAttribute(pfidWindows)]{$ENDIF}{$ENDIF}
|
|
TCEFWindowParent = class(TCEFWinControl)
|
|
protected
|
|
{$IFDEF MSWINDOWS}
|
|
procedure WndProc(var aMessage: TMessage); override;
|
|
{$ENDIF}
|
|
end;
|
|
|
|
{$IFDEF FPC}
|
|
procedure Register;
|
|
{$ENDIF}
|
|
|
|
implementation
|
|
|
|
uses
|
|
uCEFMiscFunctions, uCEFClient;
|
|
|
|
{$IFDEF MSWINDOWS}
|
|
procedure TCEFWindowParent.WndProc(var aMessage: TMessage);
|
|
var
|
|
TempHandle : THandle;
|
|
begin
|
|
case aMessage.Msg of
|
|
WM_SETFOCUS:
|
|
begin
|
|
TempHandle := ChildWindowHandle;
|
|
if (TempHandle <> 0) then PostMessage(TempHandle, WM_SETFOCUS, aMessage.WParam, 0);
|
|
inherited WndProc(aMessage);
|
|
end;
|
|
|
|
WM_ERASEBKGND:
|
|
if (ChildWindowHandle = 0) then inherited WndProc(aMessage);
|
|
|
|
CM_WANTSPECIALKEY:
|
|
if not(TWMKey(aMessage).CharCode in [VK_LEFT .. VK_DOWN, VK_RETURN, VK_ESCAPE]) then
|
|
aMessage.Result := 1
|
|
else
|
|
inherited WndProc(aMessage);
|
|
|
|
WM_GETDLGCODE : aMessage.Result := DLGC_WANTARROWS or DLGC_WANTCHARS;
|
|
|
|
else inherited WndProc(aMessage);
|
|
end;
|
|
end;
|
|
{$ENDIF}
|
|
|
|
{$IFDEF FPC}
|
|
procedure Register;
|
|
begin
|
|
{$I res/tcefwindowparent.lrs}
|
|
RegisterComponents('Chromium', [TCEFWindowParent]);
|
|
end;
|
|
{$ENDIF}
|
|
|
|
end.
|