Форум: "WinAPI";
Текущий архив: 2002.06.24;
Скачать: [xml.tar.bz2];
ВнизПункт системного меню. Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.06.24;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c