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

Пункт системного меню.   Найти похожие ветки 

 
Gari   (2002-04-24 09:26) [0]

Здраствуйте уважаемые господа. У меня вопрос такого содержания, если кто знает подскажите каким образом можно обработать команду системного меню. А именно я в системное меню программы всавил новый пункт, а вот как обработать событие нажатия не знаю. Подскажите пожалуйста.


 
gek ©   (2002-04-24 09:34) [1]

Ну наверное так

const
idSysMyMemu=200;

AppendMenu(GetSysteMenu(Handle,false), MF_STRING,idSysMyMemu,"КуКУ");

procedure myform.WMSyscommand(var msg:tmessage);
begin
if msg.wparam=idSysMyMemu then
showmessage("kuku");
end;


 
Gari   (2002-04-24 09:50) [2]

Что то, иак как ты написал не получается. Хотя по идее должно.


 
gek ©   (2002-04-24 10:06) [3]

type
Tmyform = class(TForm)
..........
...........
...........
private
{ Private declarations }
public
procedure WMSysCommand (var Msg: TMessage);
message wm_SysCommand;
end;

И добавить в procedure WMSysCommand
inherited;// в самом конце


 
Ally ©   (2002-04-24 10:10) [4]

> Gari

Одно из двух:

1) либо Вы забыли дописать message WM_SYSCOMMAND в объявлении процедуры:


procedure WMSysCommand(var Msg: TMessage); message WM_SYSCOMMAND;


2) либо в ее обработчике - inherited перед

if (Msg.wParam=idSysMyMemu) then ShowMessage("kuku");


то есть:

begin
inherited;
if (Msg.wParam = idSysMyMemu) then ShowMessage("kuku");
end;


3) либо и то и другое...

Удачи.


 
Gari   (2002-04-24 10:22) [5]

Все получилось , огромное спасибо. Но у меня еще вопрос за чем мы добавляем в описание процедуры следующую строку message WM_SYSCOMMAND; Для того чтобы указать тип передоваемой константы. Так ли это за ранее огромное при огромное спасибо.


 
gek ©   (2002-04-24 10:29) [6]

Описываем, что хотим обрабатывать именно
WM_SYSCOMMAND системные команды


 
Gari   (2002-04-24 10:46) [7]

Все понял. огромное спасибо.



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

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



Память: 0.46 MB
Время: 0.011 c
1-77409
~E~R~R~O~R~
2002-06-10 22:55
2002.06.24
Где


1-77358
Jony
2002-06-13 11:43
2002.06.24
Список откытых дочерних окон


6-77538
Alexander K.
2002-04-13 22:56
2002.06.24
Профикам


1-77344
CHIMUMBARO
2002-06-12 23:03
2002.06.24
Кому - нибудь знакомо слово Speed Button...?


1-77340
Новеньки в Делфи
2002-06-12 20:22
2002.06.24
какой alt ctrl shift нажат, левый или правый?




   Наверх