Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.11;
Скачать: 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 вся ветка

Текущий архив: 2005.07.11;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.045 c
1-1119345488
alexa
2005-06-21 13:18
2005.07.11
Иконка на понели задач


1-1118397912
Dysan
2005-06-10 14:05
2005.07.11
помогите понять в чем причина возникновения ошибки!


14-1118415727
default
2005-06-10 19:02
2005.07.11
Пятничная задачка


14-1118120846
Девелопер
2005-06-07 09:07
2005.07.11
Утилиты для защиты от отладки и(или) запутывания модуля.


14-1118232701
msguns
2005-06-08 16:11
2005.07.11
Установка Win XP на голый комп