DELPHI菜单编制一例
在专业软件的编辑菜单中,一般都设有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即可正常运行。