Z Zed Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-21 #1 谁知道菜单的右健消息?(象IE收藏夹一样的在菜单上弹出右健菜单).
K Kang Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-22 #6 IE有些菜单项有右键菜单,他可能问这个吧? DELPHI可能要自己来开发实现
Z Zed Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-23 #7 众所周知,对于菜单项而言,一般只有Click事件,无法区分是LeftButtonDown还是RightButton,我现在想做一个象IE40一样的收藏夹,将我的Bookmark名字作为菜单项,弹出菜单后,鼠标右健对菜单进行管理.
众所周知,对于菜单项而言,一般只有Click事件,无法区分是LeftButtonDown还是RightButton,我现在想做一个象IE40一样的收藏夹,将我的Bookmark名字作为菜单项,弹出菜单后,鼠标右健对菜单进行管理.
程 程云 Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-23 #8 WM_RBUTTONDOWN 鼠标按下右按键 WM_RBUTTONUP 鼠标放开右按键 WM_RBUTTONDBLCLK 鼠标双击右按键 左键换为WM_LBUTTON 中键换为WM_MBUTTON 这些可在WINDOWS的有关编程书中找到,或到Delphi中的Message单元中找到说明。
WM_RBUTTONDOWN 鼠标按下右按键 WM_RBUTTONUP 鼠标放开右按键 WM_RBUTTONDBLCLK 鼠标双击右按键 左键换为WM_LBUTTON 中键换为WM_MBUTTON 这些可在WINDOWS的有关编程书中找到,或到Delphi中的Message单元中找到说明。
Z Zed Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-23 #10 IE中的收藏绝不是窗口,是菜单. 我的问题是在菜单弹出后,用右健对 菜单项进行操作而不是对菜单项用Form进行管理. 看一下VCL的有关代码可以知道,菜单项TMenuItem 只有Click事件,没有MouseDown事件.
IE中的收藏绝不是窗口,是菜单. 我的问题是在菜单弹出后,用右健对 菜单项进行操作而不是对菜单项用Form进行管理. 看一下VCL的有关代码可以知道,菜单项TMenuItem 只有Click事件,没有MouseDown事件.
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-23 #11 Delphi的Menu也有HWND. 所有的Menu消息都经过这个HWND的, 因此, 只要替换掉这个HWND指向的WndProc就能接受到menu的鼠标操作消息. 这个HWND可以从PopupList.Window得到 PopupList是个全局变量(在Menus.pas的Interface部分定义, 外界可以直接 访问(Delphi 5)), 里面包含所有的PopupMenu. 你可以试试用SetWindowLong替换掉PopupList.Window这个handle关联的 WndProc, 然后在那里处理鼠标右键. 不过我记得delphi 4中这个PopupList是Menus.pas中的一个私有变量. 那你只有修改menus.pas啦(过去讨论过与你一模一样的问题, 所以还有点 印象, 当时的结论是只有修改menus.pas, 刚查看了delphi 5的menus源码, 才发觉PopupList这个变量被公布出来了 ).
Delphi的Menu也有HWND. 所有的Menu消息都经过这个HWND的, 因此, 只要替换掉这个HWND指向的WndProc就能接受到menu的鼠标操作消息. 这个HWND可以从PopupList.Window得到 PopupList是个全局变量(在Menus.pas的Interface部分定义, 外界可以直接 访问(Delphi 5)), 里面包含所有的PopupMenu. 你可以试试用SetWindowLong替换掉PopupList.Window这个handle关联的 WndProc, 然后在那里处理鼠标右键. 不过我记得delphi 4中这个PopupList是Menus.pas中的一个私有变量. 那你只有修改menus.pas啦(过去讨论过与你一模一样的问题, 所以还有点 印象, 当时的结论是只有修改menus.pas, 刚查看了delphi 5的menus源码, 才发觉PopupList这个变量被公布出来了 ).
G gxd Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-25 #12 我没有做过这样的程序,但是菜单是非客户区的代表,其显示像素是从屏幕上 得到的,我想它是画在上面的,所以你的问题可以从捕捉WM_NCRButtonDown 入手,我现在就给你实验一下,可以把你的EMAIL地址发到我的邮箱: xiaodong_guo@sina.com以方便我给你答复,好吗?
我没有做过这样的程序,但是菜单是非客户区的代表,其显示像素是从屏幕上 得到的,我想它是画在上面的,所以你的问题可以从捕捉WM_NCRButtonDown 入手,我现在就给你实验一下,可以把你的EMAIL地址发到我的邮箱: xiaodong_guo@sina.com以方便我给你答复,好吗?
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-25 #13 浪费时间吧? 到哪捕捉WM_NCRBUTTONDOWN?