mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-16 16:12:57 +02:00
lcl: remove LM_DEACTIVATE message. In windows and in Delphi both activation and deactivation are handled by WM_ACTIVATE message. Better to do this merge in LCL before 1.0 to prevent later problems
git-svn-id: trunk@35518 -
This commit is contained in:
parent
27e8d29632
commit
82e9d3f4ce
@ -489,7 +489,6 @@ type
|
|||||||
procedure SetWindowState(Value : TWindowState);
|
procedure SetWindowState(Value : TWindowState);
|
||||||
procedure WMActivate(var Message : TLMActivate); message LM_ACTIVATE;
|
procedure WMActivate(var Message : TLMActivate); message LM_ACTIVATE;
|
||||||
procedure WMCloseQuery(var message: TLMessage); message LM_CLOSEQUERY;
|
procedure WMCloseQuery(var message: TLMessage); message LM_CLOSEQUERY;
|
||||||
procedure WMDeactivate(var Message : TLMActivate); message LM_DEACTIVATE;
|
|
||||||
procedure WMHelp(var Message: TLMHelp); message LM_HELP;
|
procedure WMHelp(var Message: TLMHelp); message LM_HELP;
|
||||||
procedure WMShowWindow(var message: TLMShowWindow); message LM_SHOWWINDOW;
|
procedure WMShowWindow(var message: TLMShowWindow); message LM_SHOWWINDOW;
|
||||||
procedure WMSize(var message: TLMSize); message LM_Size;
|
procedure WMSize(var message: TLMSize); message LM_Size;
|
||||||
|
@ -474,48 +474,39 @@ end;
|
|||||||
|
|
||||||
Activate event handler.
|
Activate event handler.
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
procedure TCustomForm.WMActivate(var Message : TLMActivate);
|
procedure TCustomForm.WMActivate(var Message: TLMActivate);
|
||||||
begin
|
begin
|
||||||
{$IFDEF VerboseFocus}
|
{$IFDEF VerboseFocus}
|
||||||
DebugLn('TCustomForm.WMActivate A ',DbgSName(Self),' Msg.Active=',dbgs(Message.Active));
|
DebugLn('TCustomForm.WMActivate A ',DbgSName(Self),' Msg.Active=',dbgs(Message.Active));
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
if (Parent = nil) and (ParentWindow = 0) and
|
if Message.Active = WA_INACTIVE then
|
||||||
(FormStyle <> fsMDIForm) or (csDesigning in ComponentState) then
|
begin
|
||||||
SetActive(Message.Active);
|
SetActive(False);
|
||||||
|
if Assigned(Application) then
|
||||||
|
{$IFDEF EnableAsyncDeactivate}
|
||||||
|
Application.QueueAsyncCall(@Application.Deactivate,0);
|
||||||
|
{$ELSE}
|
||||||
|
Application.Deactivate;
|
||||||
|
{$ENDIF}
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
if (Parent = nil) and (ParentWindow = 0) and
|
||||||
|
(FormStyle <> fsMDIForm) or (csDesigning in ComponentState) then
|
||||||
|
SetActive(True);
|
||||||
|
|
||||||
if Application <> nil then
|
if Assigned(Application) then
|
||||||
Application.Activate;
|
Application.Activate;
|
||||||
// The button reappears in some situations (e.g. when the window gets the
|
// The button reappears in some situations (e.g. when the window gets the
|
||||||
//"urgency" flag) so we hide it again here.
|
//"urgency" flag) so we hide it again here.
|
||||||
// This is the most important place to invoke UpdateShowInTaskBar, since
|
// This is the most important place to invoke UpdateShowInTaskBar, since
|
||||||
//invoking it anywhere else seeems basically useless/frequently reversed.
|
//invoking it anywhere else seeems basically useless/frequently reversed.
|
||||||
if (ShowInTaskBar = stNever) or
|
if (ShowInTaskBar = stNever) or
|
||||||
( (ShowInTaskBar = stDefault) and
|
( (ShowInTaskBar = stDefault) and
|
||||||
(Application <> nil) and (Application.TaskBarBehavior = tbSingleButton)
|
Assigned(Application) and (Application.TaskBarBehavior = tbSingleButton)
|
||||||
) then
|
) then
|
||||||
UpdateShowInTaskBar;
|
UpdateShowInTaskBar;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
|
||||||
Method: TCustomForm.WMDeactivate
|
|
||||||
Params: Msg: When the form is deactivated (loses focus within application)
|
|
||||||
Returns: nothing
|
|
||||||
|
|
||||||
Form deactivation (losing focus within application) event handler.
|
|
||||||
------------------------------------------------------------------------------}
|
|
||||||
procedure TCustomForm.WMDeactivate(var Message : TLMActivate);
|
|
||||||
begin
|
|
||||||
{$IFDEF VerboseFocus}
|
|
||||||
DebugLn('TCustomForm.WMDeactivate ',DbgSName(Self));
|
|
||||||
{$ENDIF}
|
|
||||||
SetActive(False);
|
|
||||||
{$IFDEF EnableAsyncDeactivate}
|
|
||||||
if Application<>nil then
|
|
||||||
Application.QueueAsyncCall(@Application.Deactivate,0);
|
|
||||||
{$ELSE}
|
|
||||||
if Application<>nil then
|
|
||||||
Application.Deactivate;
|
|
||||||
{$ENDIF}
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCustomForm.WMHelp(var Message: TLMHelp);
|
procedure TCustomForm.WMHelp(var Message: TLMHelp);
|
||||||
|
@ -416,17 +416,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
WM_ACTIVATE:
|
WM_ACTIVATE:
|
||||||
begin
|
begin
|
||||||
case Lo(WParam) Of
|
LMessage.Msg := LM_ACTIVATE;
|
||||||
WA_ACTIVE, WA_CLICKACTIVE:
|
|
||||||
begin
|
|
||||||
LMessage.Msg := LM_ACTIVATE;
|
|
||||||
end;
|
|
||||||
WA_INACTIVE:
|
|
||||||
begin
|
|
||||||
LMessage.Msg := LM_DEACTIVATE;
|
|
||||||
// Wince => maybe cast to WM_CLOSE?
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
WM_CAPTURECHANGED:
|
WM_CAPTURECHANGED:
|
||||||
begin
|
begin
|
||||||
|
@ -381,13 +381,14 @@ begin
|
|||||||
|
|
||||||
if LockOnChange(PgtkObject(Widget),0) > 0 then Exit;
|
if LockOnChange(PgtkObject(Widget),0) > 0 then Exit;
|
||||||
|
|
||||||
FillChar(Mess,SizeOf(Mess),#0);
|
FillChar(Mess, SizeOf(Mess), #0);
|
||||||
Mess.Msg := LM_ACTIVATE;
|
Mess.Msg := LM_ACTIVATE;
|
||||||
Mess.Active:=true;
|
Mess.Active := WA_ACTIVE;
|
||||||
Mess.Minimized:=false;
|
Mess.Minimized := False;
|
||||||
Mess.ActiveWindow:=0;
|
|
||||||
if GtkWidgetIsA(Widget, gtk_window_get_type) then
|
if GtkWidgetIsA(Widget, gtk_window_get_type) then
|
||||||
Mess.ActiveWindow:=HWnd(PtrUInt(PGTKWindow(Widget)^.focus_widget));
|
Mess.ActiveWindow:=HWnd(PtrUInt(PGTKWindow(Widget)^.focus_widget))
|
||||||
|
else
|
||||||
|
Mess.ActiveWindow := 0;
|
||||||
Mess.Result := 0;
|
Mess.Result := 0;
|
||||||
//DebugLn('gtkactivateCB ',DbgSName(TObject(Data)));
|
//DebugLn('gtkactivateCB ',DbgSName(TObject(Data)));
|
||||||
DeliverMessage(Data, Mess);
|
DeliverMessage(Data, Mess);
|
||||||
@ -811,12 +812,14 @@ begin
|
|||||||
try
|
try
|
||||||
if (Info <> nil) then
|
if (Info <> nil) then
|
||||||
Include(Info^.Flags, wwiActivating);
|
Include(Info^.Flags, wwiActivating);
|
||||||
|
FillChar(Mess, SizeOf(Mess), #0);
|
||||||
Mess.Msg := LM_ACTIVATE;
|
Mess.Msg := LM_ACTIVATE;
|
||||||
Mess.Active := True;
|
Mess.Active := WA_ACTIVE;
|
||||||
Mess.Minimized := False;
|
Mess.Minimized := False;
|
||||||
Mess.ActiveWindow := 0;
|
|
||||||
if GtkWidgetIsA(Widget, gtk_window_get_type) then
|
if GtkWidgetIsA(Widget, gtk_window_get_type) then
|
||||||
Mess.ActiveWindow := HWnd(PtrUInt(PGTKWindow(Widget)^.focus_widget));
|
Mess.ActiveWindow := HWnd(PtrUInt(PGTKWindow(Widget)^.focus_widget))
|
||||||
|
else
|
||||||
|
Mess.ActiveWindow := 0;
|
||||||
Mess.Result := 0;
|
Mess.Result := 0;
|
||||||
DeliverMessage(Data, Mess); // send message directly (not Post)
|
DeliverMessage(Data, Mess); // send message directly (not Post)
|
||||||
finally
|
finally
|
||||||
@ -856,7 +859,12 @@ begin
|
|||||||
try
|
try
|
||||||
if (Info<>nil) then
|
if (Info<>nil) then
|
||||||
Include(Info^.Flags,wwiDeactivating);
|
Include(Info^.Flags,wwiDeactivating);
|
||||||
Mess.Msg := LM_DEACTIVATE;
|
FillChar(Mess, SizeOf(Mess), #0);
|
||||||
|
Mess.Msg := LM_ACTIVATE;
|
||||||
|
Mess.Active := WA_INACTIVE;
|
||||||
|
Mess.Minimized := False;
|
||||||
|
Mess.ActiveWindow := 0;
|
||||||
|
Mess.Result := 0;
|
||||||
DeliverMessage(Data, Mess);
|
DeliverMessage(Data, Mess);
|
||||||
finally
|
finally
|
||||||
if Info<>nil then
|
if Info<>nil then
|
||||||
|
@ -338,13 +338,14 @@ begin
|
|||||||
|
|
||||||
if LockOnChange(PgtkObject(Widget),0) > 0 then Exit;
|
if LockOnChange(PgtkObject(Widget),0) > 0 then Exit;
|
||||||
|
|
||||||
FillChar(Mess,SizeOf(Mess),#0);
|
FillChar(Mess, SizeOf(Mess), #0);
|
||||||
Mess.Msg := LM_ACTIVATE;
|
Mess.Msg := LM_ACTIVATE;
|
||||||
Mess.Active:=true;
|
Mess.Active := WA_ACTIVE;
|
||||||
Mess.Minimized:=false;
|
Mess.Minimized := False;
|
||||||
Mess.ActiveWindow:=0;
|
|
||||||
if GtkWidgetIsA(Widget, gtk_window_get_type) then
|
if GtkWidgetIsA(Widget, gtk_window_get_type) then
|
||||||
Mess.ActiveWindow:=HWnd(PtrUInt(PGTKWindow(Widget)^.focus_widget));
|
Mess.ActiveWindow := HWnd(PtrUInt(PGTKWindow(Widget)^.focus_widget))
|
||||||
|
else
|
||||||
|
Mess.ActiveWindow := 0;
|
||||||
Mess.Result := 0;
|
Mess.Result := 0;
|
||||||
//DebugLn('gtkactivateCB ',DbgSName(TObject(Data)));
|
//DebugLn('gtkactivateCB ',DbgSName(TObject(Data)));
|
||||||
DeliverMessage(Data, Mess);
|
DeliverMessage(Data, Mess);
|
||||||
@ -673,11 +674,12 @@ begin
|
|||||||
if (Info <> nil) then
|
if (Info <> nil) then
|
||||||
Include(Info^.Flags, wwiActivating);
|
Include(Info^.Flags, wwiActivating);
|
||||||
Mess.Msg := LM_ACTIVATE;
|
Mess.Msg := LM_ACTIVATE;
|
||||||
Mess.Active := True;
|
Mess.Active := WA_ACTIVE;
|
||||||
Mess.Minimized := False;
|
Mess.Minimized := False;
|
||||||
Mess.ActiveWindow := 0;
|
|
||||||
if GtkWidgetIsA(Widget, gtk_window_get_type) then
|
if GtkWidgetIsA(Widget, gtk_window_get_type) then
|
||||||
Mess.ActiveWindow := HWnd(PtrUInt(PGTKWindow(Widget)^.focus_widget));
|
Mess.ActiveWindow := HWnd(PtrUInt(PGTKWindow(Widget)^.focus_widget))
|
||||||
|
else
|
||||||
|
Mess.ActiveWindow := 0;
|
||||||
Mess.Result := 0;
|
Mess.Result := 0;
|
||||||
DeliverMessage(Data, Mess); // send message directly (not Post)
|
DeliverMessage(Data, Mess); // send message directly (not Post)
|
||||||
finally
|
finally
|
||||||
@ -713,15 +715,20 @@ begin
|
|||||||
ResetDefaultIMContext;
|
ResetDefaultIMContext;
|
||||||
UpdateMouseCaptureControl;
|
UpdateMouseCaptureControl;
|
||||||
|
|
||||||
Info:=GetWidgetInfo(Widget,false);
|
Info := GetWidgetInfo(Widget,false);
|
||||||
try
|
try
|
||||||
if (Info<>nil) then
|
if (Info<>nil) then
|
||||||
Include(Info^.Flags,wwiDeactivating);
|
Include(Info^.Flags, wwiDeactivating);
|
||||||
Mess.Msg := LM_DEACTIVATE;
|
FillChar(Mess, SizeOf(Mess), #0);
|
||||||
|
Mess.Msg := LM_ACTIVATE;
|
||||||
|
Mess.Active := WA_INACTIVE;
|
||||||
|
Mess.Minimized := False;
|
||||||
|
Mess.ActiveWindow := 0;
|
||||||
|
Mess.Result := 0;
|
||||||
DeliverMessage(Data, Mess);
|
DeliverMessage(Data, Mess);
|
||||||
finally
|
finally
|
||||||
if Info<>nil then
|
if Info<>nil then
|
||||||
Exclude(Info^.Flags,wwiDeactivating);
|
Exclude(Info^.Flags, wwiDeactivating);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Result := CallBackDefaultReturn;
|
Result := CallBackDefaultReturn;
|
||||||
|
@ -129,11 +129,11 @@ begin
|
|||||||
and GtkWidgetIsA(PGtkWidget(Widget), GTK_TYPE_CHECK_MENU_ITEM)
|
and GtkWidgetIsA(PGtkWidget(Widget), GTK_TYPE_CHECK_MENU_ITEM)
|
||||||
and (not gtk_check_menu_item_get_active(PGTKCheckMenuItem(Widget))) then Exit;
|
and (not gtk_check_menu_item_get_active(PGTKCheckMenuItem(Widget))) then Exit;
|
||||||
|
|
||||||
FillChar(Mess,SizeOf(Mess),#0);
|
FillChar(Mess, SizeOf(Mess), #0);
|
||||||
Mess.Msg := LM_ACTIVATE;
|
Mess.Msg := LM_ACTIVATE;
|
||||||
Mess.Active:=true;
|
Mess.Active := WA_ACTIVE;
|
||||||
Mess.Minimized:=false;
|
Mess.Minimized := False;
|
||||||
Mess.ActiveWindow:=0;
|
Mess.ActiveWindow := 0;
|
||||||
Mess.Result := 0;
|
Mess.Result := 0;
|
||||||
DeliverMessage(Data, Mess);
|
DeliverMessage(Data, Mess);
|
||||||
|
|
||||||
|
@ -6235,13 +6235,12 @@ begin
|
|||||||
if (vActivate = FIsActivated) or (LCLObject.Parent <> nil) then
|
if (vActivate = FIsActivated) or (LCLObject.Parent <> nil) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
Msg.Active := vActivate;
|
Msg.Msg := LM_ACTIVATE;
|
||||||
Msg.ActiveWindow := LCLObject.Handle;
|
|
||||||
|
|
||||||
if vActivate then
|
if vActivate then
|
||||||
Msg.Msg := LM_ACTIVATE
|
Msg.Active := WA_ACTIVE
|
||||||
else
|
else
|
||||||
Msg.Msg := LM_DEACTIVATE;
|
Msg.Active := WA_INACTIVE;
|
||||||
|
Msg.ActiveWindow := LCLObject.Handle;
|
||||||
|
|
||||||
DeliverMessage(Msg);
|
DeliverMessage(Msg);
|
||||||
end;
|
end;
|
||||||
|
@ -1087,20 +1087,9 @@ begin
|
|||||||
WM_ENTERIDLE: Application.Idle(False);
|
WM_ENTERIDLE: Application.Idle(False);
|
||||||
WM_ACTIVATE:
|
WM_ACTIVATE:
|
||||||
begin
|
begin
|
||||||
case LOWORD(WParam) of
|
LMessage.Msg := LM_ACTIVATE;
|
||||||
WA_ACTIVE, WA_CLICKACTIVE:
|
LMessage.WParam := WParam;
|
||||||
begin
|
LMessage.LParam := LParam;
|
||||||
LMessage.Msg := LM_ACTIVATE;
|
|
||||||
LMessage.WParam := WParam;
|
|
||||||
LMessage.LParam := LParam;
|
|
||||||
end;
|
|
||||||
WA_INACTIVE:
|
|
||||||
begin
|
|
||||||
LMessage.Msg := LM_DEACTIVATE;
|
|
||||||
LMessage.WParam := WParam;
|
|
||||||
LMessage.LParam := LParam;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
WM_IME_ENDCOMPOSITION:
|
WM_IME_ENDCOMPOSITION:
|
||||||
begin
|
begin
|
||||||
|
@ -844,7 +844,7 @@ begin
|
|||||||
@EnumStayOnTopRemove, LPARAM(StayOnTopWindowsInfo));
|
@EnumStayOnTopRemove, LPARAM(StayOnTopWindowsInfo));
|
||||||
for I := 0 to WindowInfo^.StayOnTopList.Count - 1 do
|
for I := 0 to WindowInfo^.StayOnTopList.Count - 1 do
|
||||||
SetWindowPos(HWND(WindowInfo^.StayOnTopList[I]), HWND_NOTOPMOST, 0, 0, 0, 0,
|
SetWindowPos(HWND(WindowInfo^.StayOnTopList[I]), HWND_NOTOPMOST, 0, 0, 0, 0,
|
||||||
SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE or SWP_NOOWNERZORDER or SWP_DRAWFRAME);
|
SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE or SWP_NOOWNERZORDER {or SWP_DRAWFRAME});
|
||||||
Dispose(StayOnTopWindowsInfo);
|
Dispose(StayOnTopWindowsInfo);
|
||||||
end;
|
end;
|
||||||
inc(InRemoveStayOnTopFlags);
|
inc(InRemoveStayOnTopFlags);
|
||||||
|
@ -1034,11 +1034,12 @@ begin
|
|||||||
end;
|
end;
|
||||||
WM_ACTIVATE:
|
WM_ACTIVATE:
|
||||||
begin
|
begin
|
||||||
|
LMessage.Msg := LM_ACTIVATE;
|
||||||
|
LMessage.WParam := WParam;
|
||||||
|
LMessage.LParam := LParam;
|
||||||
case Lo(WParam) Of
|
case Lo(WParam) Of
|
||||||
WA_ACTIVE, WA_CLICKACTIVE:
|
WA_ACTIVE, WA_CLICKACTIVE:
|
||||||
begin
|
begin
|
||||||
LMessage.Msg := LM_ACTIVATE;
|
|
||||||
|
|
||||||
// Upon activation of a form, rebuild it's menu
|
// Upon activation of a form, rebuild it's menu
|
||||||
if lWinControl is TCustomForm then
|
if lWinControl is TCustomForm then
|
||||||
begin
|
begin
|
||||||
@ -1056,11 +1057,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
WA_INACTIVE:
|
|
||||||
begin
|
|
||||||
LMessage.Msg := LM_DEACTIVATE;
|
|
||||||
// Wince => maybe cast to WM_CLOSE?
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
WM_CAPTURECHANGED:
|
WM_CAPTURECHANGED:
|
||||||
|
@ -37,7 +37,7 @@ uses
|
|||||||
function DeliverMessage(const Target: TObject; var AMessage): PtrInt;
|
function DeliverMessage(const Target: TObject; var AMessage): PtrInt;
|
||||||
function SendSimpleMessage(const Target: TControl; Msg: Cardinal): PtrInt;
|
function SendSimpleMessage(const Target: TControl; Msg: Cardinal): PtrInt;
|
||||||
|
|
||||||
function LCLSendActivateMsg(const Target: TControl; Active: Boolean; Minimized: Boolean; ActiveWindow: HWND = 0): PtrInt;
|
function LCLSendActivateMsg(const Target: TControl; Active: Word; Minimized: Boolean; ActiveWindow: HWND = 0): PtrInt;
|
||||||
function LCLSendSetFocusMsg(const Target: TControl): PtrInt;
|
function LCLSendSetFocusMsg(const Target: TControl): PtrInt;
|
||||||
function LCLSendKillFocusMsg(const Target: TControl): PtrInt;
|
function LCLSendKillFocusMsg(const Target: TControl): PtrInt;
|
||||||
function LCLSendShowWindowMsg(const Target: TControl; Show: Boolean; Status: LPARAM = 0): PtrInt;
|
function LCLSendShowWindowMsg(const Target: TControl; Show: Boolean; Status: LPARAM = 0): PtrInt;
|
||||||
@ -75,7 +75,6 @@ function LCLSendTimerMsg(const Target: TControl; TimerID: WParam; TimerProc: LPa
|
|||||||
function LCLSendExitMsg(const Target: TControl): PtrInt;
|
function LCLSendExitMsg(const Target: TControl): PtrInt;
|
||||||
function LCLSendCloseQueryMsg(const Target: TControl): PtrInt;
|
function LCLSendCloseQueryMsg(const Target: TControl): PtrInt;
|
||||||
function LCLSendDragStartMsg(const Target: TControl): PtrInt;
|
function LCLSendDragStartMsg(const Target: TControl): PtrInt;
|
||||||
function LCLSendDeactivateStartMsg(const Target: TControl): PtrInt;
|
|
||||||
function LCLSendMonthChangedMsg(const Target: TControl): PtrInt;
|
function LCLSendMonthChangedMsg(const Target: TControl): PtrInt;
|
||||||
function LCLSendYearChangedMsg(const Target: TControl): PtrInt;
|
function LCLSendYearChangedMsg(const Target: TControl): PtrInt;
|
||||||
function LCLSendDayChangedMsg(const Target: TControl): PtrInt;
|
function LCLSendDayChangedMsg(const Target: TControl): PtrInt;
|
||||||
@ -160,17 +159,16 @@ end;
|
|||||||
* active window *
|
* active window *
|
||||||
* *
|
* *
|
||||||
******************************************************************************}
|
******************************************************************************}
|
||||||
function LCLSendActivateMsg(const Target: TControl; Active: Boolean; Minimized: Boolean; ActiveWindow: HWND = 0): PtrInt;
|
function LCLSendActivateMsg(const Target: TControl; Active: Word; Minimized: Boolean; ActiveWindow: HWND = 0): PtrInt;
|
||||||
var
|
var
|
||||||
Mess: TLMActivate;
|
Mess: TLMActivate;
|
||||||
begin
|
begin
|
||||||
Result := 0;
|
Result := 0;
|
||||||
|
FillChar(Mess, SizeOf(Mess), 0);
|
||||||
FillChar(Mess,SizeOf(Mess),0);
|
|
||||||
Mess.Msg := LM_ACTIVATE;
|
Mess.Msg := LM_ACTIVATE;
|
||||||
Mess.Active:=Active;
|
Mess.Active := Active;
|
||||||
Mess.Minimized:=Minimized;
|
Mess.Minimized := Minimized;
|
||||||
Mess.ActiveWindow:=ActiveWindow;
|
Mess.ActiveWindow := ActiveWindow;
|
||||||
Mess.Result := 0;
|
Mess.Result := 0;
|
||||||
DeliverMessage(Target, Mess);
|
DeliverMessage(Target, Mess);
|
||||||
Result := Mess.Result;
|
Result := Mess.Result;
|
||||||
@ -979,22 +977,6 @@ begin
|
|||||||
Result := SendSimpleMessage(Target, LM_DRAGSTART);
|
Result := SendSimpleMessage(Target, LM_DRAGSTART);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{******************************************************************************
|
|
||||||
* *
|
|
||||||
* LCLSendDeactivateStartMsg *
|
|
||||||
* *
|
|
||||||
* Returns : 0 to accept the message, non-zero to reject the message *
|
|
||||||
* *
|
|
||||||
* Params *
|
|
||||||
* *
|
|
||||||
* Target : The Control that will recieve the message LM_DEACTIVATE *
|
|
||||||
* *
|
|
||||||
******************************************************************************}
|
|
||||||
function LCLSendDeactivateStartMsg(const Target: TControl): PtrInt;
|
|
||||||
begin
|
|
||||||
Result := SendSimpleMessage(Target, LM_DEACTIVATE);
|
|
||||||
end;
|
|
||||||
|
|
||||||
{******************************************************************************
|
{******************************************************************************
|
||||||
* *
|
* *
|
||||||
* LCLSendMonthChangedMsg *
|
* LCLSendMonthChangedMsg *
|
||||||
|
@ -72,7 +72,6 @@ const
|
|||||||
LM_EXIT = LM_LCL + 60;
|
LM_EXIT = LM_LCL + 60;
|
||||||
LM_CLOSEQUERY = LM_LCL + 62;
|
LM_CLOSEQUERY = LM_LCL + 62;
|
||||||
LM_DRAGSTART = LM_LCL + 63;
|
LM_DRAGSTART = LM_LCL + 63;
|
||||||
LM_DEACTIVATE = LM_LCL + 64; //used when a form is no longer in front
|
|
||||||
LM_QUIT = LM_LCL + 65;
|
LM_QUIT = LM_LCL + 65;
|
||||||
LM_MONTHCHANGED = LM_LCL + 66;
|
LM_MONTHCHANGED = LM_LCL + 66;
|
||||||
LM_YEARCHANGED = LM_LCL + 67;
|
LM_YEARCHANGED = LM_LCL + 67;
|
||||||
@ -510,17 +509,24 @@ type
|
|||||||
Result: LRESULT);
|
Result: LRESULT);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// Active state
|
||||||
|
const
|
||||||
|
WA_INACTIVE = 0;
|
||||||
|
WA_ACTIVE = 1;
|
||||||
|
WA_CLICKACTIVE = 2;
|
||||||
|
|
||||||
|
type
|
||||||
TLMActivate = record
|
TLMActivate = record
|
||||||
Msg: Cardinal;
|
Msg: Cardinal;
|
||||||
{$ifdef cpu64}
|
{$ifdef cpu64}
|
||||||
UnusedMsg: Cardinal;
|
UnusedMsg: Cardinal;
|
||||||
{$endif}
|
{$endif}
|
||||||
{$IFDEF FPC_LITTLE_ENDIAN}
|
{$IFDEF FPC_LITTLE_ENDIAN}
|
||||||
Active: WordBool;
|
Active: Word;
|
||||||
Minimized: WordBool;
|
Minimized: WordBool;
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
Minimized: WordBool;
|
Minimized: WordBool;
|
||||||
Active: WordBool;
|
Active: Word;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$ifdef cpu64}
|
{$ifdef cpu64}
|
||||||
Unused : Longint;
|
Unused : Longint;
|
||||||
@ -1011,7 +1017,6 @@ begin
|
|||||||
LM_EXIT :Result:='LM_EXIT';
|
LM_EXIT :Result:='LM_EXIT';
|
||||||
LM_CLOSEQUERY :Result:='LM_CLOSEQUERY';
|
LM_CLOSEQUERY :Result:='LM_CLOSEQUERY';
|
||||||
LM_DRAGSTART :Result:='LM_DRAGSTART';
|
LM_DRAGSTART :Result:='LM_DRAGSTART';
|
||||||
LM_DEACTIVATE :Result:='LM_DEACTIVATE';
|
|
||||||
|
|
||||||
LM_MONTHCHANGED :Result:='LM_MONTHCHANGED';
|
LM_MONTHCHANGED :Result:='LM_MONTHCHANGED';
|
||||||
LM_YEARCHANGED :Result:='LM_YEARCHANGED';
|
LM_YEARCHANGED :Result:='LM_YEARCHANGED';
|
||||||
|
Loading…
Reference in New Issue
Block a user