Custom TPopUp Enhancement. lazarus / 39-Graphics ---------------------------------------------------------------------- Josh · 2025-10-07 14:12 I had to customize the tpopup menu, recently for my needs, so thought I would share. It has gradient fill for background, scales item bitmaps, and imagelist to fit, will cache bitmaps of disabled item and cache them as it grayscales them. You can make an item a heading by preceding the caption with its simple to use, I think so anyhow.  Add the unit to your uses clause. Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i uses ......, custommenuhandler; Define the popupmenu as you wish, then before you call it for first time the items need hooking in, so then call, you only do this once. Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i CustomMenuHandlers.SetupPopUpMenuEvents(PopupMenu1,True); Then in the popupmenu on popupevent, add this is to allow customized settings for tpopup you have defined. Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i CustomMenuHandlers.SetDisplayValues(clNone,clNone,'Gill Sans MT',18,1. 0,clWhite,clNone,[],[fsBold],[fsItalic]);CustomMenuHandlers.SetDefault GradientValues; Thats it, it should work, all the colors for gradient, fonts, are customizeable. I've only tested on win32 widget so be interesting to see how it works on others. Hope you enjoy Changing one line to Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i CustomMenuH andlers.SetDisplayValues(RGBToColor(128,32,64),RGBToColor(64,4,8),'Com ic Sans MS',18,1.8,clLime,clYellow,[],[fsBold],[fsItalic]);Produces something totally different. ---------------------------------------------------------------------- Josh · 2025-10-08 07:31 Just noticed the uploaed version hada bit of code removed, I was checking an issue with the subist arrow and removed the transparancy, so i could see the actual size of the arrow bitmap. Attached version that has it back in.