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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0623
knashmesboxのタブ幅の変更4解決


knash

リンク

2010/6/23(Wed) 17:53:31|NO.33391

以前もお世話になりました、knashです。

今、エディタのタブ幅の変更ができないかと考えています。
この掲示板の以前の記事で、

  #define EM_SETTABSTOPS 0x00CB
  sendmsg hMesbox, EM_SETTABSTOPS, 1, 2

を使うと、タブ幅が変えられるとあったのですが、
それを元にスクリプトを組んで見ると、"Error 1"のシステムエラーが出てしまい、
なぜうまくいかないのか分からず途方にくれています。
もし、お分かりになられる方がいらっしゃいましたら、教えていただきたいです。
よろしくお願いします。

プログラムの経験は、HSP以外でプログラムを組んだ経験がなく、
APIも詳しくは分からないレベルです。
環境は、windows7、HSP3.2を使用しています。


参照したページ:
http://hsp.tv/play/pforum.php?mode=pastwch&num=29512



この記事に返信する


inovia

リンク

2010/6/23(Wed) 18:19:32|NO.33392

tabsize変数の数字を変えることでタブ幅が変わります。


#define EM_SETTABSTOPS 0xCB m="" mesbox m, 640, 480 hMesbox = objinfo(stat,2) tabsize = 40 sendmsg hMesbox, EM_SETTABSTOPS, 1, varptr(tabsize)



knash

リンク

2010/6/23(Wed) 18:49:30|NO.33394

inoviaさん、ありがとうございました。
無事、タブ幅を変えることができました。

タブ幅を変えられたので、もう問題は解決したのですが、
私のやり方で、タブ幅を変えられなかった理由についても
教えていただけるとありがたいです。

私が組んだスクリプトでは、

  sendmsg hMesbox, EM_SETTABSTOPS, 1, 2
つまり、変数tabsize(=2)を使って、
  sendmsg hMesbox, EM_SETTABSTOPS, 1, tabsize

というふうにしていたのですが、これは、lParamの場所に、
ポインタを指定せずに、変数を入れたために、
システムエラーになったということなのでしょうか?



Kpan

リンク

2010/6/23(Wed) 19:57:33|NO.33395

エラー1はエラー2以降に当てはまらん時にでるものなので
そうみたいですね。

使われてるシーンを見たためしがないけど、こういうのが
できる。

sdim buf, 1024 buf = "\tT\tA\tB" mesbox buf, 500, 200 hMesbox = objinfo(stat, 2) size = 10, 50, 200 sendmsg hMesbox, $CB, 3, varptr(size)



knash

リンク

2010/6/24(Thu) 00:03:09|NO.33399

Kpanさん、ありがとうございました。
ちょうどこのような設定で作りたかったので、参考になりました^^



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