HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0506
クロノス元に戻すとやり直しをmesboxでやりたい5解決


クロノス

リンク

2017/5/6(Sat) 10:39:02|NO.79565

おはようございます。

今回はタイトルにも書いてあった通り 元に戻す と やり直し をmesboxでやりたいです。


sdim text objsize 64,20 pos 0,0 : button "元に戻す",*m pos 64,0 : button "やり直し",*y font "Consolas",16,0 : objmode 2 pos 0,20 : mesbox text,640,460,5,2147483647 stop *m //ここをどうすればいいのか stop *y //ここをどうすればいいのか stop
上のスクリプトの 元に戻す と やり直し はどうすればできるのでしょうか?
教えて下さい。



この記事に返信する


KA

リンク

2017/5/6(Sat) 11:21:14|NO.79566

まずBOX内での変更を監視し、変更された都度別の変数に転送。
(当然、別の変数は行いたい回数分用意する)

後はそれぞれの操作で、現状のBOXに上書きすればOKです。



クロノス

リンク

2017/5/6(Sat) 11:41:21|NO.79567

>KAさん
確かにそうですね。
丁寧に説明してくれてありがとうございます。



休みボケ

リンク

2017/5/6(Sat) 19:27:24|NO.79572

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



クロノス

リンク

2017/5/6(Sat) 20:36:01|NO.79576

>休みボケさん
わざわざ切り取りや複写など...
本当にありがとうございました!!
sendmsg...面白いですね〜^^



クロノス

リンク

2017/5/7(Sun) 09:08:14|NO.79581

解決



ONION software Copyright 1997-2021(c) All rights reserved.