![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пункты в системном меню. [D6, Win95/98, WinME]
andrey_pst © (2002-09-23 13:16:00)Уважаемые, подскажите, как добавить в системное меню
своей программы пунктик (например, About) и как обрабатывать
событие, когда пользователь его выбирает.
Простите, если вопрос глуп :)
Заранее благодарен.
andrey_pst (2002-09-23 14:17:00) [1]>>REA
Хочу засунуть туда кой-какие настройки, которые не должны мозолить глаза каждому некомпетентному пользователю, который начнет в них тыкать и жать OK, не читая, а кому надо - доку почитают (программа для внутреннего использования на предприятии).
>>Termik
Спасибо, работает.
Termik (2002-09-23 13:43:00) [2]type
TMyForm=class(TForm)
procedure wmSysCommand(var Message:TMessage); message WM_SYSCOMMAND;
end;
const
ID_ABOUT = WM_USER+1;
ID_CALENDAR=WM_USER+2;
ID_EDIT = WM_USER+3;
ID_ANALIS = WM_USER+4;
implementation
procedure TMyForm.wmSysCommand;
begin
case Message.wParam of
ID_CALENDAR:DatBitBtnClick(Self) ;
ID_EDIT :EditBitBtnClick(Self);
ID_ANALIS:AnalisButtonClick(Self);
end;
inherited;
end;
procedure TMyForm.FormCreate(Sender: TObject);
var SysMenu:THandle;
begin
SysMenu:=GetSystemMenu(Handle,False);
InsertMenu(SysMenu,Word(-1),MF_SEPARATOR,ID_ABOUT,"");
InsertMenu(SysMenu,Word(-1),MF_BYPOSITION,ID_Calendar, "Calendar");
InsertMenu(SysMenu,Word(-1),MF_BYPOSITION,ID_Analis, "Analis");
InsertMenu(SysMenu,Word(-1),MF_BYPOSITION,ID_Edit, "Edit");
end;
REA (2002-09-23 13:31:00) [3]Примеры наверняка на форуме есть, но тут другой вопрос - кто его там найдет этот пункт? Я не помню когда последний раз заходил в это меню.