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

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

Системное меню приложения. [D7, WinXP]


Yanis ©   (2003-06-03 12:36:00) 

Подскажите пожалуйста, как вызвать системное меню приложения.
Спасибо.


jonni   (2003-06-04 03:33:00) [1]

rabotaqet krivo!!!!!!!

i ne vsegda vidaet pravil"noe menu tochnee skazat" pochti vsegda ne pravil"noe po krayney mere v 98 i 2000 (poprobuyte naprimer WinAmp)

est" bolee chestniy i pravil"niy sposob kotoriy v 100% sluchayah vidat prvil"noe menyu i v nuznom meste

cherez nedokumentirovanniy message WM_0X313
proverneo i oprobovano.....

privedenniy vami vishe metod neverne dlya 100% ispol"zovaniya


Yanis   (2003-06-03 14:09:00) [2]

Спасибо!


DVM   (2003-06-03 13:45:00) [3]

Здесь Handle - хендл того окна от которого системное меню.
Handle2 - твоя программа. По крайней мере у иеня так работает.


procedure TForm1.Button1Click(Sender: TObject);
var
LItem : LongWord;
LMenu : HMENU;
begin
LMenu := GetSystemMenu(Handle,false);
LItem := LongWord(Windows.TrackPopupMenu(LMenu, TPM_LEFTBUTTON or
TPM_RIGHTBUTTON or TPM_RETURNCMD,
100, 100, 0 , Handle2, nil));
if LItem>0 then SendMessage(Handle,WM_SYSCOMMAND,LItem,0);
end;

Коотрдинаты появления ставишь сам.


Наверх

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