mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-25 17:22:45 +02:00
75 lines
2.6 KiB
PHP
75 lines
2.6 KiB
PHP
{%MainUnit ../menus.pp}
|
|
{******************************************************************************
|
|
TMainMenu
|
|
******************************************************************************
|
|
|
|
*****************************************************************************
|
|
* *
|
|
* This file is part of the Lazarus Component Library (LCL) *
|
|
* *
|
|
* See the file COPYING.modifiedLGPL.txt, included in this distribution, *
|
|
* for details about the copyright. *
|
|
* *
|
|
* This program is distributed in the hope that it will be useful, *
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
|
|
* *
|
|
*****************************************************************************
|
|
}
|
|
|
|
procedure TMainMenu.SetWindowHandle(const AValue: HWND);
|
|
begin
|
|
FWindowHandle := AValue;
|
|
if HandleAllocated then
|
|
begin
|
|
SetMenu(FWindowHandle, Handle);
|
|
BidiModeChanged;
|
|
end
|
|
else
|
|
SetMenu(FWindowHandle, 0);
|
|
end;
|
|
|
|
{------------------------------------------------------------------------------
|
|
Method: TMainMenu.ItemChanged
|
|
Params: none
|
|
Returns: Nothing
|
|
|
|
Called whenever
|
|
------------------------------------------------------------------------------}
|
|
procedure TMainMenu.ItemChanged;
|
|
begin
|
|
MenuChanged(nil, nil, False);
|
|
end;
|
|
|
|
class procedure TMainMenu.WSRegisterClass;
|
|
begin
|
|
inherited WSRegisterClass;
|
|
RegisterMainMenu;
|
|
RegisterPropertyToSkip(TMainMenu, 'AutoMerge', 'VCL compatibility property', '');
|
|
end;
|
|
|
|
procedure TMainMenu.MenuChanged(Sender: TObject; Source: TMenuItem; Rebuild: Boolean);
|
|
begin
|
|
// pass CM_MENUCANGED to the form which own the menu
|
|
if WindowHandle <> 0 then
|
|
SendMessage(WindowHandle, CM_MENUCHANGED, 0, 0);
|
|
inherited MenuChanged(Sender, Source, Rebuild);
|
|
end;
|
|
|
|
{------------------------------------------------------------------------------
|
|
Method: TMainMenu.Create
|
|
Params: AOwner: the owner of the class
|
|
Returns: Nothing
|
|
|
|
Constructor for the class.
|
|
------------------------------------------------------------------------------}
|
|
constructor TMainMenu.Create(AOwner : TComponent);
|
|
begin
|
|
FCompStyle := csMainMenu;
|
|
FWindowHandle := 0;
|
|
inherited Create(AOwner);
|
|
end;
|
|
|
|
// included by menus.pp
|
|
|