Советы по Delphi

       

Добавление иконки в меню


Как добавить иконку в меню? Можно так:

var
Bmp1 : TPicture;
...

Bmp1 := TPicture.Create;
Bmp1.LoadFromFile('c:\where\b1.BMP');
SetMenuItemBitmaps( MenuItemTest.Handle,
0,MF_BYPOSITION,Bmp1.Bitmap.Handle,Bmp1.Bitmap.Handle);...

Создаем изображение.

Загружаем какое-либо изображение формата .BMP.

Используем вызов API SetMenuItemBitmaps для подключения изображения к меню со следующими параметрами:

  1. MenuItemTest - имя для горизонтального (верхнего) пункта меню
  2. 0,1 ... - пункты меню, которым необходимо добавить иконку (первый пункт имеет индекс 0).
Первый дескриптор изображения ссылается на первую иконку, выводимую когда пункт меню неотмечен (невыбран). Второй - если пункт меню отмечен (checked). Возможно использование одного изображения (как в нашем случае).

Весь код необходимо разместить в обработчике события, возникающего при создании формы.

Результат: Это работает, но в качестве иконки выводится только правая верхняя часть изображения (которое поместилось). Известите меня, если вам удалось изменить высоту (или ширину) пункта меню соразмерно выводимому изображению. [000175]



Содержание раздела