Subversion Repositories delphiutils

Rev

Rev 46 | Rev 59 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 46 Rev 58
Line 1... Line 1...
1
unit QuerySystemMenu;
1
unit QuerySystemMenu;
2
 
2
 
3
(*
3
(*
4
 
4
 
5
QuerySystemMenu.pas
5
QuerySystemMenu.pas
6
(C) 2010 Daniel Marschall
6
(C) 2010 - 2011 Daniel Marschall
7
 
7
 
8
*)
8
*)
9
 
9
 
-
 
10
// WM_UNINITMENUPOPUP is not implemented in Win 95.
-
 
11
{.$DEFINE USE_WM_UNINITMENUPOPUP}
-
 
12
 
10
interface
13
interface
11
 
14
 
12
// TODO: DefWindowProc() verwenden?
15
// TODO: DefWindowProc() verwenden?
13
 
16
 
14
uses
17
uses
Line 161... Line 164...
161
      begin
164
      begin
162
        FOnSystemMenuOpen(Self);
165
        FOnSystemMenuOpen(Self);
163
      end;
166
      end;
164
    end;
167
    end;
165
  end;
168
  end;
-
 
169
  {$IFDEF USE_WM_UNINITMENUPOPUP}
166
  if Msg = WM_UNINITMENUPOPUP then
170
  if Msg = WM_UNINITMENUPOPUP then
-
 
171
  {$ELSE}
-
 
172
  if FSystemMenuOpened and (Msg = WM_EXITMENULOOP) then
-
 
173
  {$ENDIF}
167
  begin
174
  begin
-
 
175
    {$IFDEF USE_WM_UNINITMENUPOPUP}
168
    // if Cardinal(WParam) = GetSystemMenu(FHandle, False) then
176
    // if Cardinal(WParam) = GetSystemMenu(FHandle, False) then
169
    if HiWord(lParam) = MF_SYSMENU then
177
    if HiWord(lParam) = MF_SYSMENU then
170
    begin
178
    begin
-
 
179
    {$ENDIF}
171
      FSystemMenuOpened := false;
180
      FSystemMenuOpened := false;
172
      if Assigned(FOnSystemMenuClose) then
181
      if Assigned(FOnSystemMenuClose) then
173
      begin
182
      begin
174
        FOnSystemMenuClose(Self);
183
        FOnSystemMenuClose(Self);
175
      end;
184
      end;
-
 
185
    {$IFDEF USE_WM_UNINITMENUPOPUP}
176
    end;
186
    end;
-
 
187
    {$ENDIF}
177
  end;
188
  end;
178
 
189
 
179
  result := inherited MsgProc(Handle, Msg, WParam, LParam);
190
  result := inherited MsgProc(Handle, Msg, WParam, LParam);
180
end;
191
end;
181
 
192