![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Панель задач
pavlov © (2005-05-13 16:53:00)Если кликнуть правой кнопкой мыши по кнопке приложения
на панели задач, то появляется popup-меню:
Восстановить
Свернуть
Закрыть
1.Как перехватить нажатие мышкой на любой из пунктов этого меню?
2.Как в это меню добавить свои пункты?
DVM (2005-05-13 17:04:00) [1]
> 1.Как перехватить нажатие мышкой на любой из пунктов этого
> меню?
Обрабатывать WM_SYSCOMMAND
> 2.Как в это меню добавить свои пункты?
//h-file
...
void __fastcall OnSysCommand(TWMSysCommand&);
public: // User declarations
__fastcall TForm1(TComponent* Owner);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_SYSCOMMAND, TWMSysCommand, OnSysCommand);
END_MESSAGE_MAP(TForm)
....
/cpp-file
static const SC_MY_MENU_ITEM = WM_USER + 1;
void __fastcall TForm1::FormCreate( TObject *Sender )
{
AppendMenu( GetSystemMenu( Handle, FALSE ), MF_SEPARATOR, 0, "" );
AppendMenu( GetSystemMenu( Handle, FALSE ),
MF_STRING,
SC_MY_MENU_ITEM,
"My Menu Item" );
}
//---------------------------------------------------------------------------
void __fastcall TForm1::OnSysCommand(TWMSysCommand& msg)
{
if(msg.CmdType == SC_MY_MENU_ITEM){
ShowMessage("It's my point!!!");
}else
TForm:: Dispatch(&msg);
}