有没有办法显示IE/Firefox后退按钮样式,下拉菜单按钮?
我假设你的意思是一个按钮,点击时会下拉菜单.
您也可以手动编写单击按钮以下拉TPopupMenu.
示例:在表单上删除任何带有TClickEvent(可能是TButton)和TPopupMenu的内容.添加一些菜单项.然后添加以下OnClick事件处理程序:
procedure TForm86.Button1Click(Sender: TObject); var button: TControl; lowerLeft: TPoint; begin if Sender is TControl then begin button := TControl(Sender); lowerLeft := Point(button.Left, button.Top + Button.Height); lowerLeft := ClientToScreen(lowerLeft); PopupMenu1.Popup(lowerLeft.X, lowerLeft.Y); end; end;
而且中提琴!就像魔术一样.如果您打算重用它,可以将它全部包装在组件中. 也许甚至可以在线销售.
注意:如果您想要延迟,则在另一个方法中提取该代码,然后设置一个计时器OnClick并转动OnMouseLeave的计时器.然后,如果计时器触发,您可以调用提取的方法.不知道如何在键盘上点击它.我不知道Firefox等是否也支持.
Jim的答案很棒,但起初并不适合我.ClientToScreen使用Form86的方法,只有当按钮直接在窗体上时才能正确.它应该是调用按钮的ClientToScreen方法,如下所示:
procedure TForm86.Button1Click(Sender: TObject); var button: TControl; lowerLeft: TPoint; begin if Sender is TControl then begin button := TControl(Sender); lowerLeft := Point(0, button.Height); lowerLeft := button.ClientToScreen(lowerLeft); PopupMenu1.Popup(lowerLeft.X, lowerLeft.Y); end; end;
无论按钮在哪里,这都有效.
当然.在页面上放置一个工具栏.右键单击工具栏,添加一个按钮.将按钮的样式设置为tbsDropDown.在页面上放置一个PopupMenu.双击PopupMenu以定义菜单项.然后,返回到您创建的按钮并将其DropdownMenu属性设置为指向您刚刚创建的PopupMenu.