LOCAL cMenuName, nTotPops, a_menupops, cTypeParm2, cSaveFormName m.cTypeParm2 = TYPE("m.getMenuName") m.cMenuName = SYS(2015) m.cSaveFormName = This.Name IF m.cTypeParm2 = "C" OR (m.cTypeParm2 = "L" AND m.getMenuName) m.oFormRef.Name = m.cMenuName ENDIF IF m.cTypeParm2 = "C" AND !EMPTY(m.getMenuName) m.cMenuName = m.getMenuName ENDIF DIMENSION a_menupops[1] IF TYPE("m.lUniquePopups")="L" AND m.lUniquePopups FOR nTotPops = 1 TO ALEN(a_menupops) a_menupops[m.nTotPops]= SYS(2015) ENDFOR ELSE a_menupops[1]="edit" ENDIF * ********************************************************* * * * * Menu Definition * * * ********************************************************* * DEFINE MENU (m.cMenuName) IN (This.Name) BAR DEFINE PAD Edit OF (m.cMenuName) PROMPT "\<Edit" COLOR SCHEME 3 ; KEY ALT+E, "ALT+E" ; SKIP FOR !FormIsObject() ; MESSAGE "Edits text or current selection" ON PAD Edit OF (m.cMenuName) ACTIVATE POPUP (a_menupops[1]) DEFINE POPUP (a_menupops[1]) MARGIN RELATIVE SHADOW COLOR SCHEME 4 DEFINE BAR _med_undo OF (a_menupops[1]) PROMPT "\<Undo" ; KEY CTRL+Z, "Ctrl+Z" DEFINE BAR _med_cut OF (a_menupops[1]) PROMPT "Cu\<t" ; KEY CTRL+X, "Ctrl+X" DEFINE BAR _med_copy OF (a_menupops[1]) PROMPT "\<Copy" ; KEY CTRL+C, "Ctrl+C" DEFINE BAR _med_paste OF (a_menupops[1]) PROMPT "\<Paste" ; KEY CTRL+V, "Ctrl+V" DEFINE BAR 6 OF (a_menupops[1]) PROMPT "\-" DEFINE BAR _med_slcta OF (a_menupops[1]) PROMPT "Select \<All" ; KEY CTRL+A, "Ctrl+A" IF m.cTypeParm2 = "C" m.getMenuName = m.cMenuName m.oFormRef.Name = m.cSaveFormName ENDIFNow, if you want to call the copy functionality programmatically (like from a command button or a shortcut menu), use this code:
SYS( 1500, '_MED_COPY', '_MEDIT' )