DELPHI菜单编制一例 唐庆 1999年 第24期 13版   DELPHI不仅完全支持面向对象编程,内部有支持数据库编程控件,并且内部封装了完备的WINAPI函数,这使得能够实现任何其他语言的编程功能,而且更加容易。下面介绍编程中通常需要实现的菜单编制的一例,实现编辑菜单中的Undo(重做)功能。 在专业软件的编辑菜单中,一般都设有Undo功能项,在DELPHI的组件中没有提供直接的支持,但通过向当前操作的编辑控件传送EM_UNDO、EM_CANUNDO消息,我们就能轻松实现这一功能。程序代码如下: ProcedureTuserFrom.MnuUndoClick(Sender:Tobject);//放弃前一次操作 Begin IfSendMessage(ActiveControl.Handle,EM_CANUNDO,0,0)then //判断前次编辑操作是否能放弃 SendMessage(ActiveControl.Handle,UNDO,0,0); Else ShowMessage(′不能重做′); End; 如果当前操作窗口是基于MDI的子窗口,则把目标句柄ActiveControl.Handle改为ActiveMDIChild.ActiveControl.Handle即可正常运行。