Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)aaa
published in(发表于) 2014/7/19 0:11:25
delphi弹出菜单组件(TPopMenu)

delphi弹出菜单组件(TPopMenu)

弹出菜单组件(TPopMenu)

应用程序中的鼠标右键弹出式菜单可以方便用户的操作,灵活性也很好。可以给窗体添加弹出式菜单,也可以给具体的某个组件添加弹出式菜单。

弹出式菜单可以通过TPopupMenu 组件实现,该组件位于Standard 组件夹中。同TMainMenu 组件的设计方法一样,双击TPopupMenu 组件或在该组件上单击鼠标右键,在弹出式菜单中选择“MenuDesigner...”命令,打开菜单编辑器。

1.TPopupMenu 组件的典型用法

如果要在某个窗体上实现鼠标右键弹出菜单,可以在该窗体上添加弹出式菜单,设计完毕后,还要在窗体的TPopupMenu 属性中选中该弹出式菜单。对于组件来说,也要设置TPopupMenu 属性。另外,窗体中的几个组件可以共用一个弹出式菜单,只要将这几个组件的TPopupMenu 属性设置成同一个弹出式菜单的名称即可。

2.TPopupMenu 组件的重要属性

·Alignment 此属性用于设置当按下鼠标右键时快捷菜单弹出的位置

·AutoPopup 如果此属性设置为True,用户按下鼠标右键时能自动弹出菜单

·MenuAnimation 此属性用于指定菜单命令在屏幕上展开的方式

·PopupComponent 此属性用于多个控件使用同一个快捷菜单的情况

·TrackButton 此属性用于指定到底是用左键还是右键来弹出快捷菜单

下面介绍程序中TPopupMenu 组件的常用属性。

(1)Alignment 属性

此属性与大部分控件的Alignment 属性的含义不同,它用于设置当按下鼠标右键时快捷菜单弹出的位置。它有如下3 个用户可选值。

• paLeft:快捷菜单的左上角显示在光标所指的地方。

• paRight:快捷菜单的右上角显示在光标所指的地方。

• paCenter:快捷菜单顶部的中间显示在光标所指的地方。

(2)AutoPopup 属性

如果想在用户按下鼠标右键时能自动弹出菜单,就把AutoPopup 属性设为True;否则,需要在处理鼠标右键按下事件的句柄中调用Popup()才能弹出菜单。

(3)MenuAnimation 属性

此属性用于指定菜单命令在屏幕上展开的方式。它有5 个取值,功能如下。

• maLeftToRight:从左到右展开菜单。

• maRightToLeft:从右到左展开菜单。

• maTopToBottom:从上到下展开菜单。

• maBottomToTop:从下到上展开菜单。

• maNone:不使用动画效果展开菜单。

(4)PopupComponent 属性

此属性用于多个控件使用同一个快捷菜单的情况,访问这个属性可以知道用户是在哪个控件上按下了鼠标右键。同样,如果在程序中调用Popup()来弹出菜单,可以在调用之前把PopupComponent 属性设为想要关联的控件。

(5)TrackButton 属性

一般情况下,当用户在控件上单击鼠标右键时将弹出快捷菜单。不过,对于工具栏上的按钮来说,往往是单击鼠标左键才弹出快捷菜单的。用TrackButton 属性可以指定到底是用左键还是右键来弹出快捷菜单。

3.TPopupMenu 组件的重要事件

TPopupMenu 组件的精髓就在于弹出的菜单能够根据鼠标右键所击的对象的不同而作出相应的变化。当程序调用Popup()或者在AutoPopup 属性设为True 的情况下用户按下鼠标右键,就会触发OnPopu事件。这样就有机会在弹出快捷菜单之前通过编程有选择地显示菜单项。

4.TPopupMenu 组件的重要方法

TPopupMenu 组件的Popup 方法可以为快捷菜单的弹出指定坐标处。Popup 方法设定了如下两个参数。

• X:弹出位置的x 坐标。

• Y:弹出位置的y 坐标。

例如,将PopupMenu1 在坐标(100,100)处显示,就可以写成:

PopupMenu.Popup(100,100);




If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759