# Class TCEFWindowComponent

Description
Hierarchy
Fields
Methods
Properties

## Unit

uCEFWindowComponent

## Declaration

`type TCEFWindowComponent = class(TCEFPanelComponent, ICefWindowDelegateEvents)`

## Description

This item has no description.

## Hierarchy

- TObject
- TPersistent
- TComponent
- TCEFViewComponent
- TCEFPanelComponent
- TCEFWindowComponent

## Overview

### Fields

| `FWindow: ICefWindow;`
| `FWindowDlg: ICefWindowDelegate;`
| `FOnWindowCreated: TOnWindowCreatedEvent;`
| `FOnWindowClosing: TOnWindowClosingEvent;`
| `FOnWindowDestroyed: TOnWindowDestroyedEvent;`
| `FOnWindowActivationChanged: TOnWindowActivationChangedEvent;`
| `FOnWindowBoundsChanged: TOnWindowBoundsChangedEvent;`
| `FOnWindowFullscreenTransition: TOnWindowFullscreenTransitionEvent;`
| `FOnGetParentWindow: TOnGetParentWindowEvent;`
| `FOnIsWindowModalDialog: TOnIsWindowModalDialogEvent;`
| `FOnGetInitialBounds: TOnGetInitialBoundsEvent;`
| `FOnGetInitialShowState: TOnGetInitialShowStateEvent;`
| `FOnIsFrameless: TOnIsFramelessEvent;`
| `FOnWithStandardWindowButtons: TOnWithStandardWindowButtonsEvent;`
| `FOnGetTitlebarHeight: TOnGetTitlebarHeightEvent;`
| `FOnAcceptsFirstMouse: TOnAcceptsFirstMouseEvent;`
| `FOnCanResize: TOnCanResizeEvent;`
| `FOnCanMaximize: TOnCanMaximizeEvent;`
| `FOnCanMinimize: TOnCanMinimizeEvent;`
| `FOnCanClose: TOnCanCloseEvent;`
| `FOnAccelerator: TOnAcceleratorEvent;`
| `FOnKeyEvent: TOnWindowKeyEventEvent;`
| `FOnThemeColorsChanged: TOnThemeColorsChangedEvent;`
| `FOnGetWindowRuntimeStyle: TOnGetWindowRuntimeStyleEvent;`
| `FOnGetLinuxWindowProperties: TOnGetLinuxWindowPropertiesEvent;`

### Methods

| `procedure DestroyView; override;`
| `procedure Initialize; override;`
| `function GetInitialized: boolean; override;`
| `function GetAsView: ICefView; override;`
| `function GetAsPanel: ICefPanel; override;`
| `function GetAsWindow: ICefWindow; override;`
| `function GetIsClosed: boolean;`
| `function GetIsActive: boolean;`
| `function GetIsAlwaysOnTop: boolean;`
| `function GetIsMaximized: boolean;`
| `function GetIsMinimized: boolean;`
| `function GetIsFullscreen: boolean;`
| `function GetFocusedView: ICefView;`
| `function GetTitle: ustring;`
| `function GetWindowIcon: ICefImage;`
| `function GetWindowAppIcon: ICefImage;`
| `function GetDisplay: ICefDisplay;`
| `function GetClientAreaBoundsInScreen: TCefRect;`
| `function GetWindowHandle: TCefWindowHandle;`
| `function GetRuntimeStyle: TCefRuntimeStyle;`
| `procedure SetAlwaysOnTop(on_top: boolean);`
| `procedure SetFullscreen(fullscreen: boolean);`
| `procedure SetTitle(const title_: ustring);`
| `procedure SetWindowIcon(const image: ICefImage);`
| `procedure SetWindowAppIcon(const image: ICefImage);`
| `procedure doOnWindowCreated(const window_: ICefWindow);`
| `procedure doOnWindowClosing(const window_: ICefWindow);`
| `procedure doOnWindowDestroyed(const window_: ICefWindow);`
| `procedure doOnWindowActivationChanged(const window_: ICefWindow; active: boolean);`
| `procedure doOnWindowBoundsChanged(const window_: ICefWindow; const new_bounds: TCefRect);`
| `procedure doOnWindowFullscreenTransition(const window_: ICefWindow; is_completed: boolean);`
| `procedure doOnGetParentWindow(const window_: ICefWindow; var is_menu, can_activate_menu: boolean; var aResult : ICefWindow);`
| `procedure doOnIsWindowModalDialog(const window_: ICefWindow; var aResult : boolean);`
| `procedure doOnGetInitialBounds(const window_: ICefWindow; var aResult : TCefRect);`
| `procedure doOnGetInitialShowState(const window_: ICefWindow; var aResult : TCefShowState);`
| `procedure doOnIsFrameless(const window_: ICefWindow; var aResult : boolean);`
| `procedure doOnWithStandardWindowButtons(const window_: ICefWindow; var aResult : boolean);`
| `procedure doOnGetTitlebarHeight(const window_: ICefWindow; var titlebar_height: Single; var aResult : boolean);`
| `procedure doOnAcceptsFirstMouse(const window_: ICefWindow; var aResult: TCefState);`
| `procedure doOnCanResize(const window_: ICefWindow; var aResult : boolean);`
| `procedure doOnCanMaximize(const window_: ICefWindow; var aResult : boolean);`
| `procedure doOnCanMinimize(const window_: ICefWindow; var aResult : boolean);`
| `procedure doOnCanClose(const window_: ICefWindow; var aResult : boolean);`
| `procedure doOnAccelerator(const window_: ICefWindow; command_id: Integer; var aResult : boolean);`
| `procedure doOnKeyEvent(const window_: ICefWindow; const event: TCefKeyEvent; var aResult : boolean);`
| `procedure doOnThemeColorsChanged(const window_: ICefWindow; chrome_theme: Integer);`
| `procedure doOnGetWindowRuntimeStyle(var aResult: TCefRuntimeStyle);`
| `procedure doOnGetLinuxWindowProperties(const window_: ICefWindow; var properties: TLinuxWindowProperties; var aResult: boolean);`
| `procedure doCreateCustomView; override;`
| `procedure CreateTopLevelWindow;`
| `procedure Show;`
| `procedure ShowAsBrowserModalDialog(const browser_view: ICefBrowserView);`
| `procedure Hide;`
| `procedure CenterWindow(const size_: TCefSize);`
| `procedure Close;`
| `procedure Activate;`
| `procedure Deactivate;`
| `procedure BringToTop;`
| `procedure Maximize;`
| `procedure Minimize;`
| `procedure Restore;`
| `function AddOverlayView(const view: ICefView; docking_mode: TCefDockingMode; can_activate: boolean): ICefOverlayController;`
| `procedure ShowMenu(const menu_model: ICefMenuModel; const screen_point: TCefPoint; anchor_position : TCefMenuAnchorPosition);`
| `procedure CancelMenu;`
| `procedure SetDraggableRegions(regionsCount: NativeUInt; const regions: PCefDraggableRegionArray);`
| `procedure SendKeyPress(key_code: Integer; event_flags: cardinal);`
| `procedure SendMouseMove(screen_x, screen_y: Integer);`
| `procedure SendMouseEvents(button: TCefMouseButtonType; mouse_down, mouse_up: boolean);`
| `procedure SetAccelerator(command_id, key_code : Integer; shift_pressed, ctrl_pressed, alt_pressed, high_priority: boolean);`
| `procedure RemoveAccelerator(command_id: Integer);`
| `procedure RemoveAllAccelerators;`
| `procedure SetThemeColor(color_id: integer; color: TCefColor);`
| `procedure ThemeChanged;`

### Properties

| `property FocusedView : ICefView read GetFocusedView;`
| `property Title : ustring read GetTitle write SetTitle;`
| `property WindowIcon : ICefImage read GetWindowIcon write SetWindowIcon;`
| `property WindowAppIcon : ICefImage read GetWindowAppIcon write SetWindowAppIcon;`
| `property Display : ICefDisplay read GetDisplay;`
| `property ClientAreaBoundsInScreen : TCefRect read GetClientAreaBoundsInScreen;`
| `property WindowHandle : TCefWindowHandle read GetWindowHandle;`
| `property IsClosed : boolean read GetIsClosed;`
| `property IsActive : boolean read GetIsActive;`
| `property IsAlwaysOnTop : boolean read GetIsAlwaysOnTop write SetAlwaysOnTop;`
| `property IsFullscreen : boolean read GetIsFullscreen write SetFullscreen;`
| `property IsMaximized : boolean read GetIsMaximized;`
| `property IsMinimized : boolean read GetIsMinimized;`
| `property RuntimeStyle : TCefRuntimeStyle read GetRuntimeStyle;`
| `property OnWindowCreated : TOnWindowCreatedEvent read FOnWindowCreated write FOnWindowCreated;`
| `property OnWindowClosing : TOnWindowClosingEvent read FOnWindowClosing write FOnWindowClosing;`
| `property OnWindowDestroyed : TOnWindowDestroyedEvent read FOnWindowDestroyed write FOnWindowDestroyed;`
| `property OnWindowActivationChanged : TOnWindowActivationChangedEvent read FOnWindowActivationChanged write FOnWindowActivationChanged;`
| `property OnWindowBoundsChanged : TOnWindowBoundsChangedEvent read FOnWindowBoundsChanged write FOnWindowBoundsChanged;`
| `property OnWindowFullscreenTransition : TOnWindowFullscreenTransitionEvent read FOnWindowFullscreenTransition write FOnWindowFullscreenTransition;`
| `property OnGetParentWindow : TOnGetParentWindowEvent read FOnGetParentWindow write FOnGetParentWindow;`
| `property OnIsWindowModalDialog : TOnIsWindowModalDialogEvent read FOnIsWindowModalDialog write FOnIsWindowModalDialog;`
| `property OnGetInitialBounds : TOnGetInitialBoundsEvent read FOnGetInitialBounds write FOnGetInitialBounds;`
| `property OnGetInitialShowState : TOnGetInitialShowStateEvent read FOnGetInitialShowState write FOnGetInitialShowState;`
| `property OnIsFrameless : TOnIsFramelessEvent read FOnIsFrameless write FOnIsFrameless;`
| `property OnWithStandardWindowButtons : TOnWithStandardWindowButtonsEvent read FOnWithStandardWindowButtons write FOnWithStandardWindowButtons;`
| `property OnGetTitlebarHeight : TOnGetTitlebarHeightEvent read FOnGetTitlebarHeight write FOnGetTitlebarHeight;`
| `property OnAcceptsFirstMouse : TOnAcceptsFirstMouseEvent read FOnAcceptsFirstMouse write FOnAcceptsFirstMouse;`
| `property OnCanResize : TOnCanResizeEvent read FOnCanResize write FOnCanResize;`
| `property OnCanMaximize : TOnCanMaximizeEvent read FOnCanMaximize write FOnCanMaximize;`
| `property OnCanMinimize : TOnCanMinimizeEvent read FOnCanMinimize write FOnCanMinimize;`
| `property OnCanClose : TOnCanCloseEvent read FOnCanClose write FOnCanClose;`
| `property OnAccelerator : TOnAcceleratorEvent read FOnAccelerator write FOnAccelerator;`
| `property OnKeyEvent : TOnWindowKeyEventEvent read FOnKeyEvent write FOnKeyEvent;`
| `property OnThemeColorsChanged : TOnThemeColorsChangedEvent read FOnThemeColorsChanged write FOnThemeColorsChanged;`
| `property OnGetWindowRuntimeStyle : TOnGetWindowRuntimeStyleEvent read FOnGetWindowRuntimeStyle write FOnGetWindowRuntimeStyle;`
| `property OnGetLinuxWindowProperties : TOnGetLinuxWindowPropertiesEvent read FOnGetLinuxWindowProperties write FOnGetLinuxWindowProperties;`

## Description

### Fields

| `FWindow: ICefWindow;`
This item has no description.

| `FWindowDlg: ICefWindowDelegate;`
This item has no description.

| `FOnWindowCreated: TOnWindowCreatedEvent;`
ICefWindowDelegateEvents

| `FOnWindowClosing: TOnWindowClosingEvent;`
This item has no description.

| `FOnWindowDestroyed: TOnWindowDestroyedEvent;`
This item has no description.

| `FOnWindowActivationChanged: TOnWindowActivationChangedEvent;`
This item has no description.

| `FOnWindowBoundsChanged: TOnWindowBoundsChangedEvent;`
This item has no description.

| `FOnWindowFullscreenTransition: TOnWindowFullscreenTransitionEvent;`
This item has no description.

| `FOnGetParentWindow: TOnGetParentWindowEvent;`
This item has no description.

| `FOnIsWindowModalDialog: TOnIsWindowModalDialogEvent;`
This item has no description.

| `FOnGetInitialBounds: TOnGetInitialBoundsEvent;`
This item has no description.

| `FOnGetInitialShowState: TOnGetInitialShowStateEvent;`
This item has no description.

| `FOnIsFrameless: TOnIsFramelessEvent;`
This item has no description.

| `FOnWithStandardWindowButtons: TOnWithStandardWindowButtonsEvent;`
This item has no description.

| `FOnGetTitlebarHeight: TOnGetTitlebarHeightEvent;`
This item has no description.

| `FOnAcceptsFirstMouse: TOnAcceptsFirstMouseEvent;`
This item has no description.

| `FOnCanResize: TOnCanResizeEvent;`
This item has no description.

| `FOnCanMaximize: TOnCanMaximizeEvent;`
This item has no description.

| `FOnCanMinimize: TOnCanMinimizeEvent;`
This item has no description.

| `FOnCanClose: TOnCanCloseEvent;`
This item has no description.

| `FOnAccelerator: TOnAcceleratorEvent;`
This item has no description.

| `FOnKeyEvent: TOnWindowKeyEventEvent;`
This item has no description.

| `FOnThemeColorsChanged: TOnThemeColorsChangedEvent;`
This item has no description.

| `FOnGetWindowRuntimeStyle: TOnGetWindowRuntimeStyleEvent;`
This item has no description.

| `FOnGetLinuxWindowProperties: TOnGetLinuxWindowPropertiesEvent;`
This item has no description.

### Methods

| `procedure DestroyView; override;`
This item has no description.

| `procedure Initialize; override;`
This item has no description.

| `function GetInitialized: boolean; override;`
This item has no description.

| `function GetAsView: ICefView; override;`
This item has no description.

| `function GetAsPanel: ICefPanel; override;`
This item has no description.

| `function GetAsWindow: ICefWindow; override;`
This item has no description.

| `function GetIsClosed: boolean;`
This item has no description.

| `function GetIsActive: boolean;`
This item has no description.

| `function GetIsAlwaysOnTop: boolean;`
This item has no description.

| `function GetIsMaximized: boolean;`
This item has no description.

| `function GetIsMinimized: boolean;`
This item has no description.

| `function GetIsFullscreen: boolean;`
This item has no description.

| `function GetFocusedView: ICefView;`
This item has no description.

| `function GetTitle: ustring;`
This item has no description.

| `function GetWindowIcon: ICefImage;`
This item has no description.

| `function GetWindowAppIcon: ICefImage;`
This item has no description.

| `function GetDisplay: ICefDisplay;`
This item has no description.

| `function GetClientAreaBoundsInScreen: TCefRect;`
This item has no description.

| `function GetWindowHandle: TCefWindowHandle;`
This item has no description.

| `function GetRuntimeStyle: TCefRuntimeStyle;`
This item has no description.

| `procedure SetAlwaysOnTop(on_top: boolean);`
This item has no description.

| `procedure SetFullscreen(fullscreen: boolean);`
This item has no description.

| `procedure SetTitle(const title_: ustring);`
This item has no description.

| `procedure SetWindowIcon(const image: ICefImage);`
This item has no description.

| `procedure SetWindowAppIcon(const image: ICefImage);`
This item has no description.

| `procedure doOnWindowCreated(const window_: ICefWindow);`
ICefWindowDelegateEvents

| `procedure doOnWindowClosing(const window_: ICefWindow);`
This item has no description.

| `procedure doOnWindowDestroyed(const window_: ICefWindow);`
This item has no description.

| `procedure doOnWindowActivationChanged(const window_: ICefWindow; active: boolean);`
This item has no description.

| `procedure doOnWindowBoundsChanged(const window_: ICefWindow; const new_bounds: TCefRect);`
This item has no description.

| `procedure doOnWindowFullscreenTransition(const window_: ICefWindow; is_completed: boolean);`
This item has no description.

| `procedure doOnGetParentWindow(const window_: ICefWindow; var is_menu, can_activate_menu: boolean; var aResult : ICefWindow);`
This item has no description.

| `procedure doOnIsWindowModalDialog(const window_: ICefWindow; var aResult : boolean);`
This item has no description.

| `procedure doOnGetInitialBounds(const window_: ICefWindow; var aResult : TCefRect);`
This item has no description.

| `procedure doOnGetInitialShowState(const window_: ICefWindow; var aResult : TCefShowState);`
This item has no description.

| `procedure doOnIsFrameless(const window_: ICefWindow; var aResult : boolean);`
This item has no description.

| `procedure doOnWithStandardWindowButtons(const window_: ICefWindow; var aResult : boolean);`
This item has no description.

| `procedure doOnGetTitlebarHeight(const window_: ICefWindow; var titlebar_height: Single; var aResult : boolean);`
This item has no description.

| `procedure doOnAcceptsFirstMouse(const window_: ICefWindow; var aResult: TCefState);`
This item has no description.

| `procedure doOnCanResize(const window_: ICefWindow; var aResult : boolean);`
This item has no description.

| `procedure doOnCanMaximize(const window_: ICefWindow; var aResult : boolean);`
This item has no description.

| `procedure doOnCanMinimize(const window_: ICefWindow; var aResult : boolean);`
This item has no description.

| `procedure doOnCanClose(const window_: ICefWindow; var aResult : boolean);`
This item has no description.

| `procedure doOnAccelerator(const window_: ICefWindow; command_id: Integer; var aResult : boolean);`
This item has no description.

| `procedure doOnKeyEvent(const window_: ICefWindow; const event: TCefKeyEvent; var aResult : boolean);`
This item has no description.

| `procedure doOnThemeColorsChanged(const window_: ICefWindow; chrome_theme: Integer);`
This item has no description.

| `procedure doOnGetWindowRuntimeStyle(var aResult: TCefRuntimeStyle);`
This item has no description.

| `procedure doOnGetLinuxWindowProperties(const window_: ICefWindow; var properties: TLinuxWindowProperties; var aResult: boolean);`
This item has no description.

| `procedure doCreateCustomView; override;`
ICefViewDelegateEvents

| `procedure CreateTopLevelWindow;`
Create a new Window.

| `procedure Show;`
Show the Window.

| `procedure ShowAsBrowserModalDialog(const browser_view: ICefBrowserView);`

Show the Window as a browser modal dialog relative to |browser_view|. A parent Window must be returned via ICefWindowDelegate.OnGetParentWindow and |browser_view| must belong to that parent Window. While this Window is visible, |browser_view| will be disabled while other controls in the parent Window remain enabled. Navigating or destroying the |browser_view| will close this Window automatically. Alternately, use show() and return true (1) from ICefWindowDelegate.OnIsWindowModalDialog for a window modal dialog where all controls in the parent Window are disabled.

| `procedure Hide;`
Hide the Window.

| `procedure CenterWindow(const size_: TCefSize);`
Sizes the Window to |size| and centers it in the current display.

| `procedure Close;`
Close the Window.

| `procedure Activate;`
Activate the Window, assuming it already exists and is visible.

| `procedure Deactivate;`
Deactivate the Window, making the next Window in the Z order the active Window.

| `procedure BringToTop;`
Bring this Window to the top of other Windows in the Windowing system.

| `procedure Maximize;`
Maximize the Window.

| `procedure Minimize;`
Minimize the Window.

| `procedure Restore;`
Restore the Window.

| `function AddOverlayView(const view: ICefView; docking_mode: TCefDockingMode; can_activate: boolean): ICefOverlayController;`

Add a View that will be overlayed on the Window contents with absolute positioning and high z-order. Positioning is controlled by |docking_mode| as described below. Setting |can_activate| to true (1) will allow the overlay view to receive input focus. The returned cef_overlay_controller_t object is used to control the overlay. Overlays are hidden by default.

With CEF_DOCKING_MODE_CUSTOM:

    1. The overlay is initially hidden, sized to |view|'s preferred size,
       and positioned in the top-left corner.
    2. Optionally change the overlay position and/or size by calling
       CefOverlayController methods.
    3. Call CefOverlayController::SetVisible(true) to show the overlay.
    4. The overlay will be automatically re-sized if |view|'s layout
       changes. Optionally change the overlay position and/or size when
       OnLayoutChanged is called on the Window's delegate to indicate a
       change in Window bounds.

With other docking modes:

    1. The overlay is initially hidden, sized to |view|'s preferred size,
       and positioned based on |docking_mode|.
    2. Call CefOverlayController::SetVisible(true) to show the overlay.
    3. The overlay will be automatically re-sized if |view|'s layout changes
       and re-positioned as appropriate when the Window resizes.

Overlays created by this function will receive a higher z-order then any child Views added previously. It is therefore recommended to call this function last after all other child Views have been added so that the overlay displays as the top-most child of the Window.

| `procedure ShowMenu(const menu_model: ICefMenuModel; const screen_point: TCefPoint; anchor_position : TCefMenuAnchorPosition);`
Show a menu with contents |menu_model|. |screen_point| specifies the menu position in screen coordinates. |anchor_position| specifies how the menu will be anchored relative to |screen_point|.

| `procedure CancelMenu;`
Cancel the menu that is currently showing, if any.

| `procedure SetDraggableRegions(regionsCount: NativeUInt; const regions: PCefDraggableRegionArray);`
Set the regions where mouse events will be intercepted by this Window to support drag operations. Call this function with an NULL vector to clear the draggable regions. The draggable region bounds should be in window coordinates.

| `procedure SendKeyPress(key_code: Integer; event_flags: cardinal);`
Simulate a key press. |key_code| is the VKEY_* value from Chromium's ui/events/keycodes/keyboard_codes.h header (VK_* values on Windows). |event_flags| is some combination of EVENTFLAG_SHIFT_DOWN, EVENTFLAG_CONTROL_DOWN and/or EVENTFLAG_ALT_DOWN. This function is exposed primarily for testing purposes.

| `procedure SendMouseMove(screen_x, screen_y: Integer);`
Simulate a mouse move. The mouse cursor will be moved to the specified (screen_x, screen_y) position. This function is exposed primarily for testing purposes.

| `procedure SendMouseEvents(button: TCefMouseButtonType; mouse_down, mouse_up: boolean);`

Simulate mouse down and/or mouse up events. |button| is the mouse button type. If |mouse_down| is true (1) a mouse down event will be sent. If |mouse_up| is true (1) a mouse up event will be sent. If both are true (1) a mouse down event will be sent followed by a mouse up event (equivalent to clicking the mouse button). The events will be sent using the current cursor position so make sure to call send_mouse_move() first to position the mouse. This function is exposed primarily for testing purposes.

| `procedure SetAccelerator(command_id, key_code : Integer; shift_pressed, ctrl_pressed, alt_pressed, high_priority: boolean);`

Set the keyboard accelerator for the specified |command_id|. |key_code| can be any virtual key or character value. Required modifier keys are specified by |shift_pressed|, |ctrl_pressed| and/or |alt_pressed|. ICefWindowDelegate.OnAccelerator will be called if the keyboard combination is triggered while this window has focus.

The |high_priority| value will be considered if a child ICefBrowserView has focus when the keyboard combination is triggered. If |high_priority| is true (1) then the key event will not be forwarded to the web content (`keydown` event handler) or ICefKeyboardHandler first. If |high_priority| is false (0) then the behavior will depend on the ICefBrowserView.SetPreferAccelerators configuration.

| `procedure RemoveAccelerator(command_id: Integer);`
Remove the keyboard accelerator for the specified |command_id|.

| `procedure RemoveAllAccelerators;`
Remove all keyboard accelerators.

| `procedure SetThemeColor(color_id: integer; color: TCefColor);`

Override a standard theme color or add a custom color associated with |color_id|. See cef_color_ids.h for standard ID values. Recommended usage is as follows:

    1. Customize the default native/OS theme by calling SetThemeColor before
       showing the first Window. When done setting colors call
       ICefWindow.ThemeChanged to trigger ICefViewDelegate.OnThemeChanged
       notifications.
    2. Customize the current native/OS or Chrome theme after it changes by
       calling SetThemeColor from the ICefWindowDelegate.OnThemeColorsChanged
       callback. ICefViewDelegate.OnThemeChanged notifications will then be
       triggered automatically.

The configured color will be available immediately via ICefView.GetThemeColor and will be applied to each View in this Window's component hierarchy when ICefViewDelegate.OnThemeChanged is called. See OnThemeColorsChanged documentation for additional details.

Clients wishing to add custom colors should use |color_id| values >= CEF_ChromeColorsEnd.

| `procedure ThemeChanged;`
Trigger ICefViewDelegate.OnThemeChanged callbacks for each View in this Window's component hierarchy. Unlike a native/OS or Chrome theme change this function does not reset theme colors to standard values and does not result in a call to ICefWindowDelegate.OnThemeColorsChanged. Do not call this function from ICefWindowDelegate.OnThemeColorsChanged or ICefViewDelegate.OnThemeChanged.

### Properties

| `property FocusedView : ICefView read GetFocusedView;`
Returns the View that currently has focus in this Window, or nullptr if no View currently has focus. A Window may have a focused View even if it is not currently active. Any focus changes while a Window is not active may be applied after that Window next becomes active.

| `property Title : ustring read GetTitle write SetTitle;`
Get the Window title.

| `property WindowIcon : ICefImage read GetWindowIcon write SetWindowIcon;`
Get the Window icon.

| `property WindowAppIcon : ICefImage read GetWindowAppIcon write SetWindowAppIcon;`
Get or set the Window App icon. This should be a larger icon for use in the host environment app switching UI. On Windows, this is the ICON_BIG used in Alt-Tab list and Windows taskbar. The Window icon will be used by default if no Window App icon is specified.

| `property Display : ICefDisplay read GetDisplay;`
Returns the Display that most closely intersects the bounds of this Window. May return NULL if this Window is not currently displayed.

| `property ClientAreaBoundsInScreen : TCefRect read GetClientAreaBoundsInScreen;`
Returns the bounds (size and position) of this Window's client area. Position is in screen coordinates.

| `property WindowHandle : TCefWindowHandle read GetWindowHandle;`
Retrieve the platform window handle for this Window.

| `property IsClosed : boolean read GetIsClosed;`
Returns true (1) if the Window has been closed.

| `property IsActive : boolean read GetIsActive;`
Returns whether the Window is the currently active Window.

| `property IsAlwaysOnTop : boolean read GetIsAlwaysOnTop write SetAlwaysOnTop;`
Returns whether the Window has been set to be on top of other Windows in the Windowing system.

| `property IsFullscreen : boolean read GetIsFullscreen write SetFullscreen;`
Returns true (1) if the Window is fullscreen.

| `property IsMaximized : boolean read GetIsMaximized;`
Returns true (1) if the Window is maximized.

| `property IsMinimized : boolean read GetIsMinimized;`
Returns true (1) if the Window is minimized.

| `property RuntimeStyle : TCefRuntimeStyle read GetRuntimeStyle;`
Returns the runtime style for this Window (ALLOY or CHROME). See TCefRuntimeStyle documentation for details.

| `property OnWindowCreated : TOnWindowCreatedEvent read FOnWindowCreated write FOnWindowCreated;`
Called when |window| is created.

| `property OnWindowClosing : TOnWindowClosingEvent read FOnWindowClosing write FOnWindowClosing;`
Called when |window| is closing.

| `property OnWindowDestroyed : TOnWindowDestroyedEvent read FOnWindowDestroyed write FOnWindowDestroyed;`
Called when |window| is destroyed. Release all references to |window| and do not attempt to execute any functions on |window| after this callback returns.

| `property OnWindowActivationChanged : TOnWindowActivationChangedEvent read FOnWindowActivationChanged write FOnWindowActivationChanged;`
Called when |window| is activated or deactivated.

| `property OnWindowBoundsChanged : TOnWindowBoundsChangedEvent read FOnWindowBoundsChanged write FOnWindowBoundsChanged;`
Called when |window| bounds have changed. |new_bounds| will be in DIP screen coordinates.

| `property OnWindowFullscreenTransition : TOnWindowFullscreenTransitionEvent read FOnWindowFullscreenTransition write FOnWindowFullscreenTransition;`

Called when |window| is transitioning to or from fullscreen mode. On MacOS the transition occurs asynchronously with |is_competed| set to false (0) when the transition starts and true (1) after the transition completes. On other platforms the transition occurs synchronously with |is_completed| set to true (1) after the transition completes. With Alloy style you must also implement ICefDisplayHandler.OnFullscreenModeChange to handle fullscreen transitions initiated by browser content.

| `property OnGetParentWindow : TOnGetParentWindowEvent read FOnGetParentWindow write FOnGetParentWindow;`

Return the parent for |window| or NULL if the |window| does not have a parent. Windows with parents will not get a taskbar button. Set |is_menu| to true (1) if |window| will be displayed as a menu, in which case it will not be clipped to the parent window bounds. Set |can_activate_menu| to false (0) if |is_menu| is true (1) and |window| should not be activated (given keyboard focus) when displayed.

| `property OnIsWindowModalDialog : TOnIsWindowModalDialogEvent read FOnIsWindowModalDialog write FOnIsWindowModalDialog;`

Return true (1) if |window| should be created as a window modal dialog. Only called when a Window is returned via get_parent_window() with |is_menu| set to false (0). All controls in the parent Window will be disabled while |window| is visible. This functionality is not supported by all Linux window managers. Alternately, use ICefWindow.ShowAsBrowserModalDialog() for a browser modal dialog that works on all platforms.

| `property OnGetInitialBounds : TOnGetInitialBoundsEvent read FOnGetInitialBounds write FOnGetInitialBounds;`
Return the initial bounds for |window| in density independent pixel (DIP) coordinates. If this function returns an NULL CefRect then GetPreferredSize() will be called to retrieve the size, and the window will be placed on the screen with origin (0,0). This function can be used in combination with ICefView.GetBoundsInScreen() to restore the previous window bounds.

| `property OnGetInitialShowState : TOnGetInitialShowStateEvent read FOnGetInitialShowState write FOnGetInitialShowState;`
Return the initial show state for |window|.

| `property OnIsFrameless : TOnIsFramelessEvent read FOnIsFrameless write FOnIsFrameless;`
Return true (1) if |window| should be created without a frame or title bar. The window will be resizable if can_resize() returns true (1). Use ICefWindow.SetDraggableRegions() to specify draggable regions.

| `property OnWithStandardWindowButtons : TOnWithStandardWindowButtonsEvent read FOnWithStandardWindowButtons write FOnWithStandardWindowButtons;`
Return true (1) if |window| should be created with standard window buttons like close, minimize and zoom. This function is only supported on macOS.

| `property OnGetTitlebarHeight : TOnGetTitlebarHeightEvent read FOnGetTitlebarHeight write FOnGetTitlebarHeight;`
Return whether the titlebar height should be overridden, and sets the height of the titlebar in |titlebar_height|. On macOS, it can also be used to adjust the vertical position of the traffic light buttons in frameless windows. The buttons will be positioned halfway down the titlebar at a height of |titlebar_height| / 2.

| `property OnAcceptsFirstMouse : TOnAcceptsFirstMouseEvent read FOnAcceptsFirstMouse write FOnAcceptsFirstMouse;`

Return whether the view should accept the initial mouse-down event, allowing it to respond to click-through behavior. If STATE_ENABLED is returned, the view will be sent a mouseDown: message for an initial mouse- down event, activating the view with one click, instead of clicking first to make the window active and then clicking the view.

This function is only supported on macOS. For more details, refer to the documentation of acceptsFirstMouse.

| `property OnCanResize : TOnCanResizeEvent read FOnCanResize write FOnCanResize;`
Return true (1) if |window| can be resized.

| `property OnCanMaximize : TOnCanMaximizeEvent read FOnCanMaximize write FOnCanMaximize;`
Return true (1) if |window| can be maximized.

| `property OnCanMinimize : TOnCanMinimizeEvent read FOnCanMinimize write FOnCanMinimize;`
Return true (1) if |window| can be minimized.

| `property OnCanClose : TOnCanCloseEvent read FOnCanClose write FOnCanClose;`
Return true (1) if |window| can be closed. This will be called for user- initiated window close actions and when ICefWindow.close() is called.

| `property OnAccelerator : TOnAcceleratorEvent read FOnAccelerator write FOnAccelerator;`
Called when a keyboard accelerator registered with ICefWindow.SetAccelerator is triggered. Return true (1) if the accelerator was handled or false (0) otherwise.

| `property OnKeyEvent : TOnWindowKeyEventEvent read FOnKeyEvent write FOnKeyEvent;`
Called after all other controls in the window have had a chance to handle the event. |event| contains information about the keyboard event. Return true (1) if the keyboard event was handled or false (0) otherwise.

| `property OnThemeColorsChanged : TOnThemeColorsChangedEvent read FOnThemeColorsChanged write FOnThemeColorsChanged;`

Called after the native/OS or Chrome theme for |window| has changed. |chrome_theme| will be true (1) if the notification is for a Chrome theme.

Native/OS theme colors are configured globally and do not need to be customized for each Window individually. An example of a native/OS theme change that triggers this callback is when the user switches between dark and light mode during application lifespan. Native/OS theme changes can be disabled by passing the `–force-dark-mode` or `–force-light-mode` command-line flag.

Chrome theme colors will be applied and this callback will be triggered if/when a BrowserView is added to the Window's component hierarchy. Chrome theme colors can be configured on a per-RequestContext basis using ICefRequestContext.SetChromeColorScheme or (Chrome style only) by visiting chrome://settings/manageProfile. Any theme changes using those mechanisms will also trigger this callback. Chrome theme colors will be persisted and restored from disk cache.

This callback is not triggered on Window creation so clients that wish to customize the initial native/OS theme must call ICefWindow.SetThemeColor and ICefWindow.ThemeChanged before showing the first Window.

Theme colors will be reset to standard values before this callback is called for the first affected Window. Call ICefWindow.SetThemeColor from inside this callback to override a standard color or add a custom color. ICefViewDelegate.OnThemeChanged will be called after this callback for the complete |window| component hierarchy.

| `property OnGetWindowRuntimeStyle : TOnGetWindowRuntimeStyleEvent read FOnGetWindowRuntimeStyle write FOnGetWindowRuntimeStyle;`
Optionally change the runtime style for this Window. See TCefRuntimeStyle documentation for details.

| `property OnGetLinuxWindowProperties : TOnGetLinuxWindowPropertiesEvent read FOnGetLinuxWindowProperties write FOnGetLinuxWindowProperties;`
Return Linux-specific window properties for correctly handling by window managers.

Generated by PasDoc 0.17.0.snapshot.