L LoveDelphi Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-28 #1 菜单项没有PopupMenu属性,而且菜单项只响应 OnClick、OnDrawItem、OnMeasureItem三个事件,无法响应鼠标右击。怎样才能实现在菜单上 单击鼠标右键,就弹出一个菜单呢?
歪 歪就歪 Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-28 #2 菜单上还要用鼠标右键再触发一个菜单?你不觉的这样的菜单即使 做出来,也非常的不好用么?Your customer will be Crazy to you. 菜单窗口是自动关闭的,在失去FOCUS时,它就会自己关掉。当你右键 触发了第二层POPUPMENU时,你原来的那个菜单多半会自动关闭。那感觉 大概就如要同时按住两个要浮上来的水瓢。
菜单上还要用鼠标右键再触发一个菜单?你不觉的这样的菜单即使 做出来,也非常的不好用么?Your customer will be Crazy to you. 菜单窗口是自动关闭的,在失去FOCUS时,它就会自己关掉。当你右键 触发了第二层POPUPMENU时,你原来的那个菜单多半会自动关闭。那感觉 大概就如要同时按住两个要浮上来的水瓢。
K Kang Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-28 #4 http://www.gislab.ecnu.edu.cn/delphibbs/dispQ.asp?LID=203621 好象也没有结果
L LoveDelphi Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-28 #5 是呀!Win98的开始菜单就有这个功能,感觉挺方便的, 如果想要删除某个菜单项,只需在这个菜单项上单击 鼠标右键,在弹出菜单中选择删除即可,再也不用走 迷宫似的转来转去了.
歪 歪就歪 Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-28 #6 cAkk:不对啊,开始菜单上的菜单项本身哪儿能用鼠标右键触发啊? 是START那个BUTTON可以用鼠标右键啊。 (事情要坏,连cAkk都说行,一定是歪就歪哪儿弄错了)
L liuge Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-28 #7 y9y,开始菜单的下级菜单(如程序子菜单)就是。 可我觉得开始菜单和普通菜单不一样,如菜单上的那个颜色渐变的"windows98", 还有就是这个弹出菜单。不知是不是MS在普通菜单上继承过来又增加其他特性,可那位大虾知道如何处理的呢?
y9y,开始菜单的下级菜单(如程序子菜单)就是。 可我觉得开始菜单和普通菜单不一样,如菜单上的那个颜色渐变的"windows98", 还有就是这个弹出菜单。不知是不是MS在普通菜单上继承过来又增加其他特性,可那位大虾知道如何处理的呢?
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-31 #12 想简单, 找个第三方控件. 想自己做: 截取PopupList.Window指向HWND的wndproc. 在那里可以接受 鼠标消息. PopupList是个全局变量(D5, uses Menus后)
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-31 #13 eyes: 如果用popuplist,我应该在哪个事件里setwindowlong, 在哪个事件里恢复OldWndPorc ?
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-31 #14 现在好像wndproc设置成功了,但是为什么截获wm_RButtonUp不行? 应该截获哪个消息?
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-31 #15 好像popuplist.window根本不接受鼠标消息???
O o*o Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-31 #16 cAkk,你怎么在自言自语呀? popuplist.window当然能接受鼠标消息。WM_RBUTTONDOWN可以。 最好是用WM_MENURBUTTONUP,这个消息连MSDN上也没有介绍。
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-31 #17 o*o: 麻烦你写出完整代码出来,我的总是不行,多谢! BTW: WM_MENURBUTTONUP 在message.pas里面就有
O o*o Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-31 #20 哦,忘了告诉你,要将menus.pas中的这句 TrackPopupMenu(FItems.Handle, Flags[UseRightToLeftAlignment, FAlignment] or Buttons[FTrackButton], 改为下面的才有效。 TrackPopupMenu(FItems.Handle, Flags[UseRightToLeftAlignment, FAlignment],//or Buttons[FTrackButton], 你再试试。这是DELPHI擅作主张的地方。
哦,忘了告诉你,要将menus.pas中的这句 TrackPopupMenu(FItems.Handle, Flags[UseRightToLeftAlignment, FAlignment] or Buttons[FTrackButton], 改为下面的才有效。 TrackPopupMenu(FItems.Handle, Flags[UseRightToLeftAlignment, FAlignment],//or Buttons[FTrackButton], 你再试试。这是DELPHI擅作主张的地方。