Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.31;
Скачать: CL | DM;

Вниз

Системное меню   Найти похожие ветки 

 
FnF   (2002-10-19 16:51) [0]

Следующий код не обрабатывает мой пункт в системном меню:


...
procedure SystemMenu(var Msg: TMessage);message WM_SysCommand;

...
implementation

const IDM_About=$C0;

{$R *.dfm}

procedure TMainForm.SystemMenu(var Msg:TMessage);
begin
if Msg.WParam=IDM_About then ShowMessage("Hello,World!");
inherited;
end;
...
procedure TForm1.FormCreate(Sender: TObject);
var SysMenu:HMenu;
begin
SysMenu:=GetSystemMenu(Application.Handle,False);
InsertMenu(SysMenu,UINT(4),MF_ByPosition,IDM_My,"Мой пункт меню");
...
end;
...


Хотя если поставить вместо Application.Handle просто Handle то появляется пункт в системном меню, которое выходит при нажатии на заголовке окна правой кнопкой. А мне надо чтоб оно выходило в системном меню, которое внизу на таксбаре. И что кстати за параметр bRevert:boolean?

Вообще в Delphi такая вот фигня: У него 2 системных меню: таскбар и заголовок. Приходится их модифицировать отдельно. Не то что в VC.


 
FnF   (2002-10-19 16:53) [1]

Ошибочка:

вместо:
InsertMenu(SysMenu,UINT(4),MF_ByPosition,IDM_My,"Мой пункт меню");


надо:
InsertMenu(SysMenu,UINT(4),MF_ByPosition,IDM_About,"Мой пункт меню");


 
TTCustomDelphiMaster ©   (2002-10-19 17:43) [2]

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if (Msg.message = WM_SysCommand) and (Msg.wParam = IDM_About) then
ShowMessage("By, Word!");
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.021 c
3-101161
Igoryan
2002-10-11 12:39
2002.10.31
Копирование в буфер из DBGrid


4-101569
МИФИст
2002-09-18 19:32
2002.10.31
WM_VSCROLL


14-101441
qube
2002-10-08 17:19
2002.10.31
Мастера! Поделитесь воспоминаниями, как кто программистом стал.


1-101327
Treiber
2002-10-20 16:03
2002.10.31
Rasbivka stringa na reals


3-101169
b-Ars
2002-10-09 12:45
2002.10.31
Конфигурация BDE