Subversion Repositories delphiutils

Compare Revisions

Regard whitespace Rev 58 → Rev 59

/trunk/Delphi Code/QuerySystemMenu/QuerySystemMenu.pas
152,24 → 152,14
 
function TQuerySystemMenu.MsgProc(Handle: HWnd; Msg: UInt; WParam: Windows.WParam; LParam: Windows.LParam): LResult;
begin
// TODO bug: löst bei evtl vorhandenen submenus öfters aus
if Msg = WM_INITMENUPOPUP then
begin
// if Cardinal(WParam) = GetSystemMenu(FHandle, False) then
if LongBool(HiWord(lParam)) then
begin
FSystemMenuOpened := true;
if Assigned(FOnSystemMenuOpen) then
begin
FOnSystemMenuOpen(Self);
end;
end;
end;
{$IFDEF USE_WM_UNINITMENUPOPUP}
if Msg = WM_UNINITMENUPOPUP then
{$ELSE}
if FSystemMenuOpened and (Msg = WM_EXITMENULOOP) then
// WM_INITMENUPOPUP wird benötigt, falls man z.B. direkt in das
// MainMenu mit einem Klick wechselt.
// TODO: Problem, wenn das System-Menu Untermenü-Punkte besitzt?
if FSystemMenuOpened and ((Msg = WM_EXITMENULOOP)
or (Msg = WM_INITMENUPOPUP)) then
{$ENDIF}
begin
{$IFDEF USE_WM_UNINITMENUPOPUP}
187,6 → 177,20
{$ENDIF}
end;
 
// TODO bug: löst bei evtl vorhandenen submenus öfters aus
if Msg = WM_INITMENUPOPUP then
begin
// if Cardinal(WParam) = GetSystemMenu(FHandle, False) then
if LongBool(HiWord(lParam)) then
begin
FSystemMenuOpened := true;
if Assigned(FOnSystemMenuOpen) then
begin
FOnSystemMenuOpen(Self);
end;
end;
end;
 
result := inherited MsgProc(Handle, Msg, WParam, LParam);
end;
 
/trunk/Delphi Code/QuerySystemMenu/Demo.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/Delphi Code/QuerySystemMenu/Main.pas
4,7 → 4,7
 
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, QuerySystemMenu;
Dialogs, StdCtrls, ExtCtrls, QuerySystemMenu, Menus;
 
type
TMainForm = class(TForm)
11,6 → 11,18
CheckBox1: TCheckBox;
Timer1: TTimer;
Label1: TLabel;
MainMenu1: TMainMenu;
N12231: TMenuItem;
N123124235425541: TMenuItem;
N45koiaejfunsdkf1: TMenuItem;
erlknf1: TMenuItem;
fkjn1: TMenuItem;
fe1: TMenuItem;
flmnakwjfnajwrngl1: TMenuItem;
ewfkjanwrgboinginrginaikrwngka1: TMenuItem;
asdasdjknsafjnaskfnakjf1: TMenuItem;
askfnjakfnkjasndfkjandf1: TMenuItem;
fkjafnjkasndf1: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
/trunk/Delphi Code/QuerySystemMenu/Main.dfm
10,6 → 10,7
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
Menu = MainMenu1
OldCreateOrder = False
OnCreate = FormCreate
OnDestroy = FormDestroy
43,4 → 44,41
Left = 400
Top = 288
end
object MainMenu1: TMainMenu
Left = 384
Top = 96
object N12231: TMenuItem
Caption = '1223'
object fe1: TMenuItem
Caption = 'fe'
end
end
object N123124235425541: TMenuItem
Caption = 'ewfewekfn'
object fkjn1: TMenuItem
Caption = 'fkjn'
end
end
object N45koiaejfunsdkf1: TMenuItem
Caption = '45koiaejfunsdkf'
object erlknf1: TMenuItem
Caption = 'erlknf'
end
end
object flmnakwjfnajwrngl1: TMenuItem
Caption = 'flmnakwjfnajwrngl '
object fkjafnjkasndf1: TMenuItem
Caption = 'fkjafnjkasndf'
end
end
object ewfkjanwrgboinginrginaikrwngka1: TMenuItem
Caption = 'k'
object asdasdjknsafjnaskfnakjf1: TMenuItem
Caption = 'asdasdjknsafjnaskfnakjf'
end
end
object askfnjakfnkjasndfkjandf1: TMenuItem
Caption = 'askfnjakfnkjasndfkjandf'
end
end
end