Советы по 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]



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