Вниз
Скачать: 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.014 c
1-77391
galik
2002-06-13 15:49
2002.06.24
Компонент F1Book


1-77467
kay
2002-06-11 04:27
2002.06.24
InstallShield Express


1-77378
Night
2002-06-13 13:40
2002.06.24
Вопрос не по теме, но кажется никто кроме вас мне не поможет.


14-77602
ДедушкаКо
2002-05-17 13:45
2002.06.24
Ну я в районе Полевой-Индустриальной А ГДЕ ВЫ ну например хавк


3-77321
Dmitr
2002-05-31 07:48
2002.06.24
ADO, D6, SQL




   Наверх