Пятница, 27.06.2025
Королевство Delphi
Главное меню
Статьи
Наш опрос
Нужен форум на сайте?
Всего ответов: 91
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Статьи » Система » Разное

Добавляем пункты в системное меню Windows

Вы, наверное, задавались вопросом, почему системное меню постоянно одно и тоже ? Пример показывает, как добавить туда такие пункты как "About" или "Information", или что-нибудь ещё.

Нам понадобится две вещи, первая это Item ID, который может быть любым целым числом. Второе это Описание(Caption) для нашего пункта меню. Нам понадобится также процедура, которая будет принимать сообщения Window для определения нажатия на наш пункт меню.

Unit OhYeah; 

Interface 

Uses 
 SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
 Forms, Dialogs, Menus; 

Type 
 TForm1 = Class (TForm) 
 Procedure FormCreate (Sender : TObject); 
 
 Private {Private declarations} 
 Public {Public declarations} 
 Procedure WinMsg (Var Msg : TMsg; Var Handled : Boolean); 
 Procedure DoWhatEever; 

End; 

Var 
 Form1 : TForm1; 

Implementation 

{$R *.DFM} 

Const 
 ItemID = 99; // ID номер для пункта меню. Может быть любым 

Procedure Tform1.WinMsg (Var Msg : TMsg; Var Handled : Boolean); 
Begin 
 If Msg.Message = WM_SYSCOMMAND Then 
 If Msg.WParam = ItemID Then DoWhatEver; 

End; 

Procedure TForm1.FormCreate (Sender : TObject); 
Begin 

 Application.OnMessage := WinMsg; 
 AppendMenu (GetSystemMenu (Form1.Handle, False),
 MF_SEPARATOR, 0, ''); 
 AppendMenu (GetSystemMenu (Form1.Handle, False),
 MF_BYPOSITION, ItemID, '&My menu'); 
 AppendMenu (GetSystemMenu (Application.Handle, False),
 MF_SEPARATOR, 0, ''); 
 AppendMenu (GetSystemMenu (Application.Handle, False),
 MF_BYPOSITION, ItemID,'&My menu minimized'); 

End; 

Procedure TForm1.DoWhatEver; 
Begin 
 Exit; // Вы можете добавить здесь всё, что угодно 
End; 

End.

Получить ссылку на материал

Категория: Разное | Добавил: Барон (09.12.2011)
Просмотров: 637 | Теги: Windows, меню | Рейтинг: 0.0/0
[ Пожертвования для сайта ] [ Пожаловаться на материал ]

Если вам помог материал сайта кликните по оплаченной рекламе размещенной в центре

Поиск
Категории раздела
ActiveX [10]
CORBA и COM [16]
Kol и MCK [23]
WinAPI [28]
Компоненты [27]
Работа с Bluetooth [4]
Железо [8]
Текст [18]
Разное [98]
Королевство Delphi © 2010-2025
Яндекс цитирования