sendmsgを利用すれば、簡単に実現できます。
サンプルは、こんな感じ。
;***** 簡易テキストエディタ (sndobj50.hsp) *****
#define WM_CUT $00000300
#define WM_COPY $00000301
#define WM_PASTE $00000302
#define WM_CLEAR $00000303
#define WM_UNDO $00000304
screen 0,640,480,1
sdim buf,32000
pos 10, 20 : mesbox buf,620,380,1
pos 10, 410 : button "Cut" ,*cut
pos 80, 410 : button "Copy" ,*copy
pos 150,410 : button "Past" ,*past
pos 220,410 : button "Delete" ,*del
pos 290,410 : button "Undo" ,*undo
pos 360,410 : button "Load" ,*hiraku
pos 430,410 : button "Save" ,*hozon
pos 500,410 : button "End" ,*owari
;▼切り取り
*cut
objsel 0
sendmsg objinfo(0,2), WM_CUT, 0, 0
stop
;▼複写
*copy
objsel 0
sendmsg objinfo(0,2), WM_COPY, 0, 0
stop
;▼貼り付け
*past
objsel 0
sendmsg objinfo(0,2), WM_PASTE, 0, 0
stop
;▼削除
*del
objsel 0
sendmsg objinfo(0,2), WM_CLEAR, 0, 0
stop
;▼やり直し(元に戻す) ... トグル動作
*undo
objsel 0
sendmsg objinfo(0,2), WM_UNDO, 0, 0
stop
;▼読み込み
*hiraku
dialog "txt",16,"txtファイル" : if stat=0:stop
notesel buf : noteload refstr
objprm 0,buf
stop
;▼保存
*hozon
dialog "txt",17,"txtファイル" : if stat=0 :stop
ls=strlen(refstr) : if ls==0 : stop
notesave refstr
stop
*owari
end