Вниз
Скачать: CL | DM;

Панель задач   Найти похожие ветки 

 
pavlov   (2005-05-13 16:53) [0]

Если кликнуть правой кнопкой мыши по кнопке приложения
на панели задач, то появляется popup-меню:

Восстановить
Свернуть
Закрыть

1.Как перехватить нажатие мышкой на любой из пунктов этого меню?
2.Как в это меню добавить свои пункты?


 
DVM ©   (2005-05-13 17:04) [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);

}



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.103 c
4-1115215444
ANB
2005-05-04 18:04
2005.07.11
Как эмулировать нажатие клавиш на клавиатуре для чужой программы


14-1118592501
Cerberus
2005-06-12 20:08
2005.07.11
Оцените дизайн


14-1118667514
emfw
2005-06-13 16:58
2005.07.11
Зарплата


4-1115761172
Serge KV
2005-05-11 01:39
2005.07.11
работа с LPT портом


14-1118392610
pavel_guzhanov
2005-06-10 12:36
2005.07.11
Это что, смена ценностей?




   Наверх