我需要用当前正在使用的VCL样式中的图标替换主菜单图标(特别是帮助图标)(我们的应用程序在菜单栏的右侧显示此图标,看起来很奇怪使用从与活动主题不匹配的资源文件中提取的图标。
我找不到从样式中提取图像然后将其用作菜单图标的方法。有没有人这样做过?
更新:这不是绘制样式图标(按照上一个问题),而是让主菜单有主题图标(而不是未经修改的资源或标准图标)。
Update2:如果我获得了样式元素并将其绘制到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;
元素在那里,但它没有图标。