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 |