■ 質問はここへ ■

前へ 次へ
No. 242 (241へのコメント)投稿者: かぶねこ HP日付: 2001/09/20 18:58:10
題名 : Re^5:アンダーライン作成マクロ

>そうですよね,タブが入ると正確な位置を取得できないですものね。

カーソルの x 位置なら簡単に取得できるんですが、選択文字列の場合、カーソ
ル位置はそのうちの前だったり後ろだったりします。

タブに対応する方法もたぶんありますが、面倒でマクロも長くなりそうです。タ
ブ幅が書式依存なので、アンダーラインをテキストでつけるにはスペースのほう
が安心かと思います。

タブをスペースに変換するには BlockToSpace 機能を選択時の右クリックメニュ
ーに追加すると便利ですよ。QXフォルダの QXWKEY.INI (これがキー定義ファ
イル)の Popup "編集" のところに

	"タブをスペースへ"		BlockToSpace
	"スペースをタブへ"		BlockToTab

を追加してQXを再起動します。Boogie さんはすでにご存知かもしれませんが、
ここを読んでいるかもしれない他のかたへの情報としても書いておきます。

ともかく、マクロが役に立ったようでよかったです。

No. 243 (242へのコメント)投稿者: noris日付: 2001/09/20 21:45:45削除済 返信
題名 : Re^6:アンダーライン作成マクロ
No. 244 (242へのコメント)投稿者: noris HP日付: 2001/09/20 22:24:43
題名 : Re^6:アンダーライン作成マクロ

この掲示板はお初になります。皆様宜しくお願いいたします。

> >そうですよね,タブが入ると正確な位置を取得できないですものね。
>
> カーソルの x 位置なら簡単に取得できるんですが、選択文字列の場合、
> カーソル位置はそのうちの前だったり後ろだったりします。

タブ桁を変換する自作の関数でも使おうか……と最初思ったんですが、考え
てみると、開始と終了の2箇所くらいならカーソル自体動かしちゃうのが手っ
取り早いかもしれませんね。

試しに、(私なんぞがするのはたいへん恐縮ですが)、 かぶねこ さんの作
品をちょっと改変させていただきます。

proc main
if @hwnd = 0 then exit proc
'1行が長すぎるとき中止
if lenb(@TextCr$(@Line)) > 80 then
print "ERROR: 1行が長すぎます"
exit proc
end if
'未選択または改行をまたいでいるときは中止
if @TextSelect$ = "" then
print "ERROR: 1行以内で選択してから実行してください"
exit proc
end if
dim m, n, mb, nb
@UndoBlock = 1
'行のなかでの選択開始位置を(バイト数で)取得
nb = @SelectStartBytePosCr
'行のなかでの選択終了位置を(バイト数で)取得
mb = @SelectEndBytePosCr
@Select = 0
'位置を桁数に変換
@BytePosCr = nb : n = @XDisplay
@BytePosCr = mb : m = @XDisplay
@MoveEndLine
@CharReturn2
@Insert space$(n-1)
@Insert string$(m-n,`^`)
@UndoBlock = 0
end proc

行頭のタブに対応してますが、加えて、タブ含みの文字列にもアンダーライ
ン引けるようになってます。……でもどっちにしてもすでにご指摘の通り、
他のところに持っていったらズレちゃうし、意味無いっスね。ごめんなさい、
やってみたくなっちゃっただけなんです(^_^;)

No. 245 (244へのコメント)投稿者: かぶねこ HP日付: 2001/09/21 00:03:04
題名 : Re^7:アンダーライン作成マクロ

noris さん、こんにちは。

> '行のなかでの選択開始位置を(バイト数で)取得
> nb = @SelectStartBytePosCr
> '行のなかでの選択終了位置を(バイト数で)取得
> mb = @SelectEndBytePosCr

わ、そういうのもあったんですね。それを使うと instrb とか余分なことしなく
てもいいし、ずっとシンプルになります。手もとのも変更しとこっと。(またマ
クロのコマンドをろくに知らないことがバレましたよ、とほほ。でもこんなんで
もマクロ作ったりしてますので、みなさんもぜひ。)

>行頭のタブに対応してますが、加えて、タブ含みの文字列にもアンダーライ
>ン引けるようになってます。

こだわりですね。

No. 246投稿者: みちこ日付: 2001/09/21 00:48:53
題名 : ふすま紙について

こんにちわ!!
ふすま紙なんですが、jpgファイルを使うことは、できないのでしょうか??
そう言うのがあれば教えてください

No. 247 (246へのコメント)投稿者: かぶねこ HP日付: 2001/09/21 01:49:48
題名 : Re:ふすま紙について

ふすま紙は jpeg ダメですね。ウィンドウズの基本的なとこを何か使ってるから
じゃないかな。いろいろ対応するとそれだけプログラムサイズが増えるとかそう
いうこともありますし。

ファイル形式を JPEG から BMP に変換して保存しなおせば使えます。フリーの
ツールでいろいろそういうのできるのありますよ。

http://cvnweb.bai.ne.jp/~kusumoto/iview/ とか。Vector Software Pack にも
いろいろと。

裏技でQXそのもので JPEG を表示できないか、ということだったら、たぶんな
いです。こんな答えでよかったでしょうか。

No. 248 (245へのコメント)投稿者: noris HP日付: 2001/09/21 07:38:49
題名 : Re^8:アンダーライン作成マクロ

> またマクロのコマンドをろくに知らないことがバレましたよ、とほほ。

私も実は今回「カーソルの x 位置なら簡単に取得できる」という かぶねこ
さんのお言葉を読むまで @XDisplay のことが分かってなかったので……
(正確には、@BytePos との違いが分からず、どう使い分けるのかな、と不
思議に思ってました)

マクロは浅いところも奥深い? ですね〜。

でもおっしゃるとおり私のように分からない者も分からないなりに作れちゃっ
たりするもので。思えば最初の頃はどう作っていいのかさっぱり想像も付か
ず、キーマクロの保存ファイルを参考にして「この全部の頭に @ 付ければ
いいのか? ……あ、動くところは動くな」な〜んて今から考えるとトンデ
モナイ試行錯誤をしてました(^_^;)が、逆に言うと、そんなんでもどうにか
なったんですからQXのマクロの包容力はかなりのものではないかと。皆さ
んにも気軽にお試しいただければ、と思います。

No. 249 (248へのコメント)投稿者: かぶねこ HP日付: 2001/09/21 14:44:14
題名 : Re^9:アンダーライン作成マクロ

お互いに「あ、それ、知らなかったです」なんて言いながらやりとりするのは楽
しいですね。マクロ・メーリングリストのほうがほんとは場所としていいかもし
れませんが、ここは「きっかけがもらえる」のでついここでスレッドができちゃ
います。

またマクロ遊び、ごいっしょしてください。

No. 250投稿者: wmicky日付: 2001/09/22 02:18:08
題名 : IMEのフォント

IMEの未確定文字のフォントが、確定文字のフォントより大きく表示されてしまいます。どこかで設定するのでしょうが、共通設定でも書式設定でも見つけられません。どこで設定するか教えて下さい。

No. 251 (250へのコメント)投稿者: CINEPHILE日付: 2001/09/22 06:27:26
題名 : Re:IMEのフォント

>IMEの未確定文字のフォントが、確定文字のフォントより大きく表示されてしまいます。どこかで設定するのでしょうが、共通設定でも書式設定でも見つけられません。どこで設定するか教えて下さい。

 思い当たることがほとんどないのですが、「共通設定」−「IME/アイコン」で、
「未確定文字を@FixedSysで表示」をチェックしていると、縦書き編集時に、
使用しているフォントのサイズによってはそのようになるようです。
@FixedSys のサイズが固定されているためでしょう。

 それとも、そういう単純なことではないのでしょうか。

次へ
現在の既読番号は 0  既読を


メールアドレスを表示するにはURLの後ろに &m=29159987 をつけてください。
ユーザー フォーラム一覧

http://www2k.biglobe.ne.jp/~araken/
http://0ban.com/araken/