Вниз
Скачать: 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.042 c
3-1116957765
Flame
2005-05-24 22:02
2005.07.11
работа с dbgrid


9-1112199822
$SerG$
2005-03-30 20:23
2005.07.11
[Error] File not found: DelphiX.dcr . Где взять?


1-1118759629
Pasha L
2005-06-14 18:33
2005.07.11
альтернатива processMessages


14-1118515711
Cheater
2005-06-11 22:48
2005.07.11
Подбор ткани для мебели. Какие могут быть решения?


14-1118649847
WondeRu
2005-06-13 12:04
2005.07.11
В чем смысл жизни?




   Наверх