事情只这样的:
我在一个frmMain窗体的toolbar的click事件中用showmenu2 调出另外一个窗体menuform中的弹出式菜单.按设计意图来说,点击菜单后应该先执行菜单的click事件,设置click事件中的相应的参数,然后才去进行others的操作.但执行时却是每次都先执行完others的操作后才去执行click事件,故每次执行的结果都不对!!我在showmenu2 中用了"TrackPopupMenu(hSubMenu, 2, IX, IY, 0, MenuF.hwnd, menRect)"来弹出菜单.这个程序是从vb3升上来的,在vb3中正常,但在vb6中执行的顺序就不对了,不知道为什么!请高手指点!!!
.....
showmenu2 Me, x, Y, menuform, s1, s2, s3, s4
...others
.....
我在一个frmMain窗体的toolbar的click事件中用showmenu2 调出另外一个窗体menuform中的弹出式菜单.按设计意图来说,点击菜单后应该先执行菜单的click事件,设置click事件中的相应的参数,然后才去进行others的操作.但执行时却是每次都先执行完others的操作后才去执行click事件,故每次执行的结果都不对!!我在showmenu2 中用了"TrackPopupMenu(hSubMenu, 2, IX, IY, 0, MenuF.hwnd, menRect)"来弹出菜单.这个程序是从vb3升上来的,在vb3中正常,但在vb6中执行的顺序就不对了,不知道为什么!请高手指点!!!
.....
showmenu2 Me, x, Y, menuform, s1, s2, s3, s4
...others
.....
可能是VB的GUI组件不支持多线程的原因吧。
用楼上的就行了。
能用VB自带的就用自带的,在VB中用API有很多不确定性:)
或者在
TrackPopupMenu(hSubMenu, 2, IX, IY, 0, MenuF.hwnd, menRect)"
之后加一句
DoEvents