在菜单所在窗口中定义一个用户事件,映射到系统消息pbm_menuchar 叫us_menuchar 在这个事件里写 int li_upper li_upper=upperbound(mycurmenu.item) if keydown(keyd!) and li_upper= 0 then //判断d键是否按下和是否还有下一级菜单,但是在这里keydown判断不了是否鼠标右键被按下,是因为这个消息只取键盘按键按下与否的信息。 mycurmenu.checked=not mycurmenu.checked mycurmenu.enabled=not mycurmenu.enabled mycurmenu.enabled=not mycurmenu.enabled end if