* assumes WITH THISFORM IF .editPop * allow edit controls without a visible edit menu (eg top level forms) LOCAL cSM, cSP .editPop= RIGHT(SYS(2015),6) && yes, we ARE changing the type! cSM= 'M_' + .editPop cSP= 'P_' + .editPop DEFINE MENU (m.cSM) IN (.name) BAR DEFINE PAD _msm_edit OF (m.cSM) PROMPT "Edit" ON PAD _msm_edit OF (m.cSM) ACTIVATE POPUP (m.cSP) DEFINE POPUP (m.cSP) MARGIN RELATIVE DEFINE BAR _med_undo OF (m.cSP) PROMPT "\<.Undo" ; KEY CTRL+Z DEFINE BAR _med_redo OF (m.cSP) PROMPT "Re\<.do" ; KEY CTRL+R DEFINE BAR _med_cut OF (m.cSP) PROMPT "Cu\<.t" ; KEY CTRL+X DEFINE BAR _med_copy OF (m.cSP) PROMPT "\<.Copy" ; KEY CTRL+C DEFINE BAR _med_paste OF (m.cSP) PROMPT "\<.Paste" ; KEY CTRL+V DEFINE BAR _med_slcta OF (m.cSP) PROMPT "Se\<.lect All" ; KEY CTRL+A ENDIF *Notice the "IN (.name)" clause * In the query unload event... IF TYPE('.editPop') = 'C' RELEASE POPUP ('P_' + .editPop) EXTENDED RELEASE MENU ('M_' + .editPop) EXTENDED ENDIFHTH