Мне нужно заменить значок главного меню (в частности, значок справки) значком из текущего используемого стиля VCL (наше приложение показывает этот значок в правой части строки меню, и использование значка выглядит странно который извлекается из файла ресурсов, который не соответствует активной теме).
Я не могу найти способ извлечь изображение из стиля, а затем использовать его в качестве значка меню. Кто-нибудь сделал это?
Обновление: это не рисование стилизованного значка (как в предыдущем вопросе), а получение в главном меню тематического значка (а не ресурса без темы или стандартного значка).
Обновление 2: если я получу элемент стиля и нарисую его в TBitmap, он будет работать, когда стиль — «Windows», но не для других тем.
// Need to populate the image from the theme
LDetails := StyleServices.GetElementDetails(twHelpButtonNormal);
bitmap := Tbitmap.Create;
bitmap.Height := 16;
bitmap.width := 16;
StyleServices.DrawElement(bitmap.Canvas.Handle, LDetails, bitmap.Canvas.ClipRect);
HelpMenuItem.Bitmap := bitmap;
Элемент есть, но у него нет значка.
TBitmap
, которая затем при необходимости назначается кнопке или меню. - person Remy Lebeau   schedule 04.01.2017