I have a case where the popup menu (a TAdvStickyPopupMenu)is generated dynamically. I general it is small, but it can have quite a few entries. If it does, the top is put above the top of the page. I noticed that part of it is based on CustomForm which has an AutoScroll. I tried turning this on and it does not show a scroll bar. Is there any way to turn on the scroll bar?
Thanks,
J. Gordon
Hi,
I was able to do it by changing the ShowMenu of the AdvStickyPopupMenu
to set the top to 0 before the FOnMenuShow and then replace the setting
of the top with code to turn on the AutoScroll and sent the range
FStickyMenuWindow.Top:=0;
FStickyMenuPanel.Top:=0;
...
FStickyMenuWindow.Top := P.Y;
MaxH:=(Application.MainForm.Top+Application.MainForm.Height)-P.Y;
if FStickyMenuWindow.height>MaxH then
begin
FStickyMenuWindow.AutoScroll:=true;
FStickyMenuWindow.HorzScrollBar.Visible:=false;
FStickyMenuWindow.VertScrollBar.Visible:=true;
FStickyMenuWindow.VertScrollBar.Position:=0;
FStickyMenuWindow.VertScrollBar.Range:=FStickyMenuWindow.Height;
FStickyMenuWindow.height:=MaxH;
end;
// if P.Y + FStickyMenuWindow.height>Screen.Height then
// P.Y := Screen.Height - FStickyMenuWindow.height;
// FStickyMenuWindow.Top := P.Y;