mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-02-02 10:25:26 +02:00
Fixed issue #202
- Updated the OnBeforeClose event in all demos using TChromiumWindow to send a WM_CLOSE message instead of calling "close". - Fixed all MDI demos. Now the demo will not close automatically when the last browser is closed manually.
This commit is contained in:
parent
5d36c422eb
commit
0e08d66a1f
@ -182,7 +182,7 @@ end;
|
|||||||
procedure TMainForm.ChromiumWindow1BeforeClose(Sender: TObject);
|
procedure TMainForm.ChromiumWindow1BeforeClose(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
FCanClose := True;
|
FCanClose := True;
|
||||||
Close;
|
PostMessage(Handle, WM_CLOSE, 0, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMainForm.ChromiumWindow1Close(Sender: TObject);
|
procedure TMainForm.ChromiumWindow1Close(Sender: TObject);
|
||||||
|
@ -160,7 +160,7 @@ end;
|
|||||||
procedure TWebBrowserFrm.ChromiumWindow1BeforeClose(Sender: TObject);
|
procedure TWebBrowserFrm.ChromiumWindow1BeforeClose(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
FCanClose := True;
|
FCanClose := True;
|
||||||
Close;
|
PostMessage(Handle, WM_CLOSE, 0, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TWebBrowserFrm.ChromiumWindow1Close(Sender: TObject);
|
procedure TWebBrowserFrm.ChromiumWindow1Close(Sender: TObject);
|
||||||
|
@ -240,7 +240,7 @@ end;
|
|||||||
procedure TJSDialogBrowserFrm.ChromiumWindow1BeforeClose(Sender: TObject);
|
procedure TJSDialogBrowserFrm.ChromiumWindow1BeforeClose(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
FCanClose := True;
|
FCanClose := True;
|
||||||
Close;
|
PostMessage(Handle, WM_CLOSE, 0, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TJSDialogBrowserFrm.ChromiumWindow1Close(Sender: TObject);
|
procedure TJSDialogBrowserFrm.ChromiumWindow1Close(Sender: TObject);
|
||||||
|
@ -184,7 +184,7 @@ end;
|
|||||||
procedure TMainForm.ChildDestroyedMsg(var aMessage : TMessage);
|
procedure TMainForm.ChildDestroyedMsg(var aMessage : TMessage);
|
||||||
begin
|
begin
|
||||||
// If there are no more child forms we can destroy the main form
|
// If there are no more child forms we can destroy the main form
|
||||||
if (MDIChildCount = 0) then
|
if FClosing and (MDIChildCount = 0) then
|
||||||
begin
|
begin
|
||||||
ButtonPnl.Enabled := False;
|
ButtonPnl.Enabled := False;
|
||||||
FCanClose := True;
|
FCanClose := True;
|
||||||
|
@ -195,7 +195,7 @@ end;
|
|||||||
procedure TMainForm.ChildDestroyedMsg(var aMessage : TMessage);
|
procedure TMainForm.ChildDestroyedMsg(var aMessage : TMessage);
|
||||||
begin
|
begin
|
||||||
// If there are no more child forms we can destroy the main form
|
// If there are no more child forms we can destroy the main form
|
||||||
if (MDIChildCount = 0) then
|
if FClosing and (MDIChildCount = 0) then
|
||||||
begin
|
begin
|
||||||
ButtonPnl.Enabled := False;
|
ButtonPnl.Enabled := False;
|
||||||
FCanClose := True;
|
FCanClose := True;
|
||||||
|
@ -150,7 +150,7 @@ end;
|
|||||||
procedure TForm1.ChromiumWindow1BeforeClose(Sender: TObject);
|
procedure TForm1.ChromiumWindow1BeforeClose(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
FCanClose := True;
|
FCanClose := True;
|
||||||
Close;
|
PostMessage(Handle, WM_CLOSE, 0, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TForm1.ChromiumWindow1Close(Sender: TObject);
|
procedure TForm1.ChromiumWindow1Close(Sender: TObject);
|
||||||
|
@ -175,7 +175,7 @@ end;
|
|||||||
procedure TSimpleExternalPumpBrowserFrm.ChromiumWindow1BeforeClose(Sender: TObject);
|
procedure TSimpleExternalPumpBrowserFrm.ChromiumWindow1BeforeClose(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
FCanClose := True;
|
FCanClose := True;
|
||||||
Close;
|
PostMessage(Handle, WM_CLOSE, 0, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSimpleExternalPumpBrowserFrm.ChromiumWindow1Close(Sender: TObject);
|
procedure TSimpleExternalPumpBrowserFrm.ChromiumWindow1Close(Sender: TObject);
|
||||||
|
@ -157,7 +157,7 @@ end;
|
|||||||
procedure TForm1.ChromiumWindow1BeforeClose(Sender: TObject);
|
procedure TForm1.ChromiumWindow1BeforeClose(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
FCanClose := True;
|
FCanClose := True;
|
||||||
Close;
|
PostMessage(Handle, WM_CLOSE, 0, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TForm1.Chromium_OnBeforePopup(Sender: TObject;
|
procedure TForm1.Chromium_OnBeforePopup(Sender: TObject;
|
||||||
|
@ -8,9 +8,8 @@
|
|||||||
<Unit0>
|
<Unit0>
|
||||||
<Filename Value="CRBrowser.lpr"/>
|
<Filename Value="CRBrowser.lpr"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<IsVisibleTab Value="True"/>
|
|
||||||
<TopLine Value="40"/>
|
<TopLine Value="40"/>
|
||||||
<CursorPos X="10" Y="71"/>
|
<CursorPos X="61" Y="62"/>
|
||||||
<UsageCount Value="20"/>
|
<UsageCount Value="20"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
<DefaultSyntaxHighlighter Value="Delphi"/>
|
<DefaultSyntaxHighlighter Value="Delphi"/>
|
||||||
@ -21,9 +20,10 @@
|
|||||||
<ComponentName Value="MainForm"/>
|
<ComponentName Value="MainForm"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
|
<IsVisibleTab Value="True"/>
|
||||||
<EditorIndex Value="1"/>
|
<EditorIndex Value="1"/>
|
||||||
<TopLine Value="89"/>
|
<TopLine Value="166"/>
|
||||||
<CursorPos Y="106"/>
|
<CursorPos Y="169"/>
|
||||||
<UsageCount Value="20"/>
|
<UsageCount Value="20"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
<LoadedDesigner Value="True"/>
|
<LoadedDesigner Value="True"/>
|
||||||
@ -71,7 +71,7 @@
|
|||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
</Unit6>
|
</Unit6>
|
||||||
</Units>
|
</Units>
|
||||||
<JumpHistory Count="13" HistoryIndex="12">
|
<JumpHistory Count="14" HistoryIndex="13">
|
||||||
<Position1>
|
<Position1>
|
||||||
<Filename Value="uMainForm.pas"/>
|
<Filename Value="uMainForm.pas"/>
|
||||||
</Position1>
|
</Position1>
|
||||||
@ -123,6 +123,10 @@
|
|||||||
<Filename Value="uMainForm.pas"/>
|
<Filename Value="uMainForm.pas"/>
|
||||||
<Caret Line="117" Column="69" TopLine="109"/>
|
<Caret Line="117" Column="69" TopLine="109"/>
|
||||||
</Position13>
|
</Position13>
|
||||||
|
<Position14>
|
||||||
|
<Filename Value="uMainForm.pas"/>
|
||||||
|
<Caret Line="73" Column="30" TopLine="59"/>
|
||||||
|
</Position14>
|
||||||
</JumpHistory>
|
</JumpHistory>
|
||||||
<RunParams>
|
<RunParams>
|
||||||
<FormatVersion Value="2"/>
|
<FormatVersion Value="2"/>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
object MainForm: TMainForm
|
object MainForm: TMainForm
|
||||||
Left = 150
|
Left = 386
|
||||||
Height = 658
|
Height = 658
|
||||||
Top = 86
|
Top = 91
|
||||||
Width = 781
|
Width = 781
|
||||||
Caption = 'Custom Resource Browser'
|
Caption = 'Custom Resource Browser'
|
||||||
ClientHeight = 658
|
ClientHeight = 658
|
||||||
|
@ -166,7 +166,7 @@ end;
|
|||||||
procedure TMainForm.ChromiumWindow1BeforeClose(Sender: TObject);
|
procedure TMainForm.ChromiumWindow1BeforeClose(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
FCanClose := True;
|
FCanClose := True;
|
||||||
Close;
|
PostMessage(Handle, WM_CLOSE, 0, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMainForm.ChromiumWindow1Close(Sender: TObject);
|
procedure TMainForm.ChromiumWindow1Close(Sender: TObject);
|
||||||
|
@ -22,15 +22,15 @@
|
|||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<IsVisibleTab Value="True"/>
|
<IsVisibleTab Value="True"/>
|
||||||
<EditorIndex Value="1"/>
|
<EditorIndex Value="1"/>
|
||||||
<TopLine Value="107"/>
|
<TopLine Value="247"/>
|
||||||
<CursorPos X="40" Y="105"/>
|
<CursorPos X="41" Y="251"/>
|
||||||
<UsageCount Value="20"/>
|
<UsageCount Value="20"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
<LoadedDesigner Value="True"/>
|
<LoadedDesigner Value="True"/>
|
||||||
<DefaultSyntaxHighlighter Value="Delphi"/>
|
<DefaultSyntaxHighlighter Value="Delphi"/>
|
||||||
</Unit1>
|
</Unit1>
|
||||||
</Units>
|
</Units>
|
||||||
<JumpHistory Count="4" HistoryIndex="3">
|
<JumpHistory Count="5" HistoryIndex="4">
|
||||||
<Position1>
|
<Position1>
|
||||||
<Filename Value="JSDialogBrowser.lpr"/>
|
<Filename Value="JSDialogBrowser.lpr"/>
|
||||||
</Position1>
|
</Position1>
|
||||||
@ -46,6 +46,10 @@
|
|||||||
<Filename Value="uJSDialogBrowser.pas"/>
|
<Filename Value="uJSDialogBrowser.pas"/>
|
||||||
<Caret Line="88" Column="386" TopLine="70"/>
|
<Caret Line="88" Column="386" TopLine="70"/>
|
||||||
</Position4>
|
</Position4>
|
||||||
|
<Position5>
|
||||||
|
<Filename Value="uJSDialogBrowser.pas"/>
|
||||||
|
<Caret Line="72" Column="32" TopLine="64"/>
|
||||||
|
</Position5>
|
||||||
</JumpHistory>
|
</JumpHistory>
|
||||||
<RunParams>
|
<RunParams>
|
||||||
<FormatVersion Value="2"/>
|
<FormatVersion Value="2"/>
|
||||||
|
@ -248,7 +248,7 @@ end;
|
|||||||
procedure TJSDialogBrowserFrm.ChromiumWindow1BeforeClose(Sender: TObject);
|
procedure TJSDialogBrowserFrm.ChromiumWindow1BeforeClose(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
FCanClose := True;
|
FCanClose := True;
|
||||||
Close;
|
PostMessage(Handle, WM_CLOSE, 0, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TJSDialogBrowserFrm.ChromiumWindow1Close(Sender: TObject);
|
procedure TJSDialogBrowserFrm.ChromiumWindow1Close(Sender: TObject);
|
||||||
|
@ -22,8 +22,8 @@
|
|||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<IsVisibleTab Value="True"/>
|
<IsVisibleTab Value="True"/>
|
||||||
<TopLine Value="135"/>
|
<TopLine Value="149"/>
|
||||||
<CursorPos X="64" Y="129"/>
|
<CursorPos X="41" Y="170"/>
|
||||||
<UsageCount Value="20"/>
|
<UsageCount Value="20"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
<LoadedDesigner Value="True"/>
|
<LoadedDesigner Value="True"/>
|
||||||
|
@ -167,7 +167,7 @@ end;
|
|||||||
procedure TForm1.ChromiumWindow1BeforeClose(Sender: TObject);
|
procedure TForm1.ChromiumWindow1BeforeClose(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
FCanClose := True;
|
FCanClose := True;
|
||||||
Close;
|
PostMessage(Handle, WM_CLOSE, 0, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TForm1.ChromiumWindow1Close(Sender: TObject);
|
procedure TForm1.ChromiumWindow1Close(Sender: TObject);
|
||||||
|
@ -22,8 +22,8 @@
|
|||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<IsVisibleTab Value="True"/>
|
<IsVisibleTab Value="True"/>
|
||||||
<EditorIndex Value="1"/>
|
<EditorIndex Value="1"/>
|
||||||
<TopLine Value="111"/>
|
<TopLine Value="150"/>
|
||||||
<CursorPos X="41" Y="122"/>
|
<CursorPos X="41" Y="179"/>
|
||||||
<UsageCount Value="20"/>
|
<UsageCount Value="20"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
<LoadedDesigner Value="True"/>
|
<LoadedDesigner Value="True"/>
|
||||||
|
@ -176,7 +176,7 @@ end;
|
|||||||
procedure TSimpleExternalPumpBrowserFrm.ChromiumWindow1BeforeClose(Sender: TObject);
|
procedure TSimpleExternalPumpBrowserFrm.ChromiumWindow1BeforeClose(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
FCanClose := True;
|
FCanClose := True;
|
||||||
Close;
|
PostMessage(Handle, WM_CLOSE, 0, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSimpleExternalPumpBrowserFrm.ChromiumWindow1Close(Sender: TObject);
|
procedure TSimpleExternalPumpBrowserFrm.ChromiumWindow1Close(Sender: TObject);
|
||||||
|
@ -20,9 +20,10 @@
|
|||||||
<ComponentName Value="Form1"/>
|
<ComponentName Value="Form1"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
|
<IsVisibleTab Value="True"/>
|
||||||
<EditorIndex Value="2"/>
|
<EditorIndex Value="2"/>
|
||||||
<TopLine Value="75"/>
|
<TopLine Value="147"/>
|
||||||
<CursorPos X="39" Y="169"/>
|
<CursorPos X="41" Y="160"/>
|
||||||
<UsageCount Value="20"/>
|
<UsageCount Value="20"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
<LoadedDesigner Value="True"/>
|
<LoadedDesigner Value="True"/>
|
||||||
@ -31,9 +32,8 @@
|
|||||||
<Unit2>
|
<Unit2>
|
||||||
<Filename Value="uCEFLoader.pas"/>
|
<Filename Value="uCEFLoader.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<IsVisibleTab Value="True"/>
|
|
||||||
<EditorIndex Value="1"/>
|
<EditorIndex Value="1"/>
|
||||||
<TopLine Value="51"/>
|
<TopLine Value="36"/>
|
||||||
<CursorPos Y="65"/>
|
<CursorPos Y="65"/>
|
||||||
<UsageCount Value="20"/>
|
<UsageCount Value="20"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
|
@ -157,7 +157,7 @@ end;
|
|||||||
procedure TForm1.ChromiumWindow1BeforeClose(Sender: TObject);
|
procedure TForm1.ChromiumWindow1BeforeClose(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
FCanClose := True;
|
FCanClose := True;
|
||||||
Close;
|
PostMessage(Handle, WM_CLOSE, 0, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TForm1.Chromium_OnBeforePopup(Sender: TObject;
|
procedure TForm1.Chromium_OnBeforePopup(Sender: TObject;
|
||||||
|
@ -78,7 +78,6 @@ type
|
|||||||
procedure WndProc(var aMessage: TMessage); override;
|
procedure WndProc(var aMessage: TMessage); override;
|
||||||
|
|
||||||
procedure OnCloseMsg(var aMessage : TMessage); message CEF_DOONCLOSE;
|
procedure OnCloseMsg(var aMessage : TMessage); message CEF_DOONCLOSE;
|
||||||
procedure OnBeforeCloseMsg(var aMessage : TMessage); message CEF_DOONBEFORECLOSE;
|
|
||||||
procedure OnAfterCreatedMsg(var aMessage : TMessage); message CEF_AFTERCREATED;
|
procedure OnAfterCreatedMsg(var aMessage : TMessage); message CEF_AFTERCREATED;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
procedure WebBrowser_OnClose(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
procedure WebBrowser_OnClose(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||||
@ -203,9 +202,7 @@ end;
|
|||||||
|
|
||||||
procedure TChromiumWindow.WebBrowser_OnBeforeClose(Sender: TObject; const browser: ICefBrowser);
|
procedure TChromiumWindow.WebBrowser_OnBeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||||
begin
|
begin
|
||||||
{$IFDEF MSWINDOWS}
|
if assigned(FOnBeforeClose) then FOnBeforeClose(self);
|
||||||
if assigned(FOnBeforeClose) then PostMessage(Handle, CEF_DOONBEFORECLOSE, 0, 0);
|
|
||||||
{$ENDIF}
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TChromiumWindow.WebBrowser_OnAfterCreated(Sender: TObject; const browser: ICefBrowser);
|
procedure TChromiumWindow.WebBrowser_OnAfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||||
@ -221,11 +218,6 @@ begin
|
|||||||
if assigned(FOnClose) then FOnClose(self);
|
if assigned(FOnClose) then FOnClose(self);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TChromiumWindow.OnBeforeCloseMsg(var aMessage : TMessage);
|
|
||||||
begin
|
|
||||||
if assigned(FOnBeforeClose) then FOnBeforeClose(self);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TChromiumWindow.OnAfterCreatedMsg(var aMessage : TMessage);
|
procedure TChromiumWindow.OnAfterCreatedMsg(var aMessage : TMessage);
|
||||||
begin
|
begin
|
||||||
UpdateSize;
|
UpdateSize;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"UpdateLazPackages" : [
|
"UpdateLazPackages" : [
|
||||||
{
|
{
|
||||||
"ForceNotify" : false,
|
"ForceNotify" : true,
|
||||||
"InternalVersion" : 14,
|
"InternalVersion" : 15,
|
||||||
"Name" : "cef4delphi_lazarus.lpk",
|
"Name" : "cef4delphi_lazarus.lpk",
|
||||||
"Version" : "75.0.13.0"
|
"Version" : "75.0.13.0"
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user