Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

System Menu


ZEE ©   (2002-06-12 15:12:00) 

Как программно заставить выпасть системное меню формы (как при клике на иконке в заголовке).
И еще может ли это меню появится если у формы вобще нет заголовка?
Заранее спасибо всем.


Дмитрий Баранов   (2002-06-19 15:06:00) [1]

procedure TForm1.Button1Click(Sender: TObject);
var menu: HMENU;
begin
menu:=GetSystemMenu(Self.Handle, FALSE);
TrackPopUpMenu(menu, 0, 100, 100, 0, Self.Handle, nil);
end;


ZEE   (2002-06-19 14:59:00) [2]

2 Song: Мне PopupMenu1 не надо (так мы и сами умеем) - мне надо чтоб выпала реальная системная менюшка...

2 RAK: Да понял, понял, только вот примеров с WM_NCHITTEST не вижу...


RAK   (2002-06-16 11:23:00) [3]

WM_NCHITTEST PONAL!!!


Song   (2002-06-16 11:18:00) [4]

А какие сложности-то ?

private
Procedure WhetherUserClicksOnTheCaption(Var Msg:TMessage); message WM_NCRBUTTONDOWN;
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

Procedure TForm1.WhetherUserClicksOnTheCaption(Var Msg:TMessage);
Begin
With Msg Do IF WParam=HTCAPTION then PopupMenu1.Popup(LoWord(LParam),HiWord(LParam));
End;


~Rand~   (2002-06-16 08:47:00) [5]

Удалено модератором


ZEE   (2002-06-16 01:35:00) [6]

Хорошо, так можно увидеть пример (кусок кода) по "выпадению" системного Popup-а ?...


Song   (2002-06-14 08:40:00) [7]

Использование WM_NCHITTEST преднозначено для определения операции с неклиентской областью формы, т.е. Вам нужно определить что клик сделан на заголовке и выпасть TPopup

>>для перетаскивания окна вместо заголовка за любое место я знаю
Да, это можно сделать испольуюя это сообщение, но только для этого WM_NCCHITTEST не предназначен.


ZEE   (2002-06-14 02:34:00) [8]

Да,использование WM_NCHITTEST для перетаскивания окна вместо заголовка за любое место я знаю, а как все-таки заставить выпасть системное меню?


Song   (2002-06-12 17:06:00) [9]

WM_NCHITTEST


Наверх

Титульная страница Поиск, карта сайта Написать письмо