各位大哥,我是新来的,有问题向你们请教,谢谢了!(50分)

  • 主题发起人 主题发起人 受气包_1
  • 开始时间 开始时间

受气包_1

Unregistered / Unconfirmed
GUEST, unregistred user!
很多控件都有OnContextPopup事件,请问它怎么使用,最好给出代码,谢谢!
 
OnContextPopup:当鼠标右键点击form或其他能引起弹出菜单的动作时;

procedure TForm1.FormContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
begin
showmessage('没有定义弹出式菜单!');
end;
 
OnContextPopup:当鼠标右键点击控件或其他能引起弹出菜单的动作时触发
 
请问Brave大哥,怎样用OnContextPopup触发右键弹出式菜单,谢谢!
 
我还是把问题说具体一些吧,
怎样实现在DevExpress系列控件中的dxPageControl控件的页(TdxTabSheet)标题上
触发右键弹出式菜单?
 
OnContextPopup不是用来触发右键弹出式菜单的,而是在菜单弹出时触发OnContextPopup事件,
这样就可以在菜单弹出时做一些其他的操作。
如果要右键弹出菜单,首先要摆放一个PopupMenu控件,然后在调用它的控件上(例如From上)
设置PopupMenu属性等于你刚才放上的PopupMenu控件,这样就可以在From上单击右键弹出菜单了。
 
它有没有popupmenu属性,那个控件我没有用过
 
Brave大哥,有popupmenu属性
真是谢谢你,这么热心
 
如果是dxPageControl控件,那么dxPageControl控件(或者其中某一页)的PopupMenu属性
连接到你的PopupMenu控件上,这样就可以使用右键弹出菜单了。
 
westboy2000大哥,那么,怎样实现我上面说的功能呢?
>>怎样实现在DevExpress系列控件中的dxPageControl控件的页(TdxTabSheet)标题上
>>触发右键弹出式菜单?
 
谢谢westboy2000大哥,我先试一试
 
放一个popupmenu控件,然后dxpagecontrol的popupmenu属性选上就行了
 
To 受气包_1:老大,我写了这么多你都不谢一下,对Brave你就谢个不停,什么意思嘛?!
 
这个事件在你按鼠标右键的时候触发。
在这个事件里面,你想做什么都可以,当然可以是Popup一个PopupMenu。
下面是我的程序里面的例子:
procedure TMainForm.ListAllFriendContextPopup(Sender: TObject;
MousePos: TPoint; var Handled: Boolean);
var i: integer;
begin
i:=ListAllFriend.ItemAtPos(MousePos, true);
if i>=0 then
begin
ListAllFriend.ItemIndex:=i;
AllFriendPopupMenu.Tag:=i;
AllFriendPopupMenu.Popup(Mouse.CursorPos.x+10,Mouse.CursorPos.y+10);
end;
end;
 
谢谢westboy2000大哥,谢谢,谢谢!
谢谢各位大哥![:)]
 
怎么回事,每次都是我先解答完了你才问,顺序怎么这么怪?难道我未卜先知?
刚才跟你开个玩笑,大家互相帮助,谢什么谢嘛!哈哈哈哈!
 
各位大哥,我只想用鼠标右键单击其中某一页的标题部分,就弹出右键菜单,怎么做?
谢谢!
 
等一等,给你写一个例子,不过不是dxPageControl的,而是PageControl。
 
记着不要给PageControl1的PopupMenu属性付值,假设PageControl1有两个页TabSheet1和TabSheet2,
你要在TabSheet2的标题上单击右键弹出菜单,参考下面的例子:
procedure TForm1.PageControl1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if (PageControl1.ActivePage=TabSheet2) and (Button=mbRight) then
begin
PopupMenu1.Popup(X+Form1.Left+PageControl1.Left+20, Y+Form1.Top+PageControl1.Top+30);
end;
end;
我在X后面写的Form1.Left+PageControl1.Left+20是为了保证菜单弹出在标题的附近而写的,
你也可以根据自己实际调试的情况自己写。
 
各位大哥,你们说的其实都对,我在Delphi自带的PageControl控件上试过了,
但是一到DevExpress的dxPageControl上就不灵了,我发现它的OnMouseDown事件好象根本
就触发不了,就是说你无论往这个事件里写什么代码,都没有用,各位大哥,能不能再帮
我看看,给你们添麻烦了(别影响你们的正常工作,休息)
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部