[ 新規に投稿する ]

秀丸メールでinput、question関数で表示位置を合わせたいNo.09255
powerofdreams さん 20/08/25 14:26 [ コメントを投稿する ]
  input関数とquestion関数でダイアログボックスの表示位置が異なります。
これらを実行すると、視線がアチコチになりあまり格好良くありません。

どちらも中央に表示させるアイディアはございませんでしょうか。

■マクロ例
 question("選択してください");
 $a=input("入力してください","");

■実行結果
 上記マクロを秀丸メールで実行すると、
 questionは中央、input関数は左上にウインドウが表示されてしまいます。

■参考
 input関数(秀丸エディタ)の、位置を指定するパラメータを指定してみましたが、
 秀丸メールでは「括弧の対応がおかしいです」とエラーになってしまい使用できません。

 以下のマクロは秀丸エディタでは動作するが、秀丸メールでは動作しない
 question("選択してください");//画面の中央
 $b=input("入力してください","",0x01);//画面の中央 

■考え
 input関数の位置を指定するパラメータが秀丸メールで使用できればベストかな。と
 思っています。
 つまり、
 現状questionは位置指定をしなくても真ん中に表示されるので、
 inputのダイアログボックスを0x01指定で中央に表示できればいいのですが。



以上、よろしくお願いいたします。
[ ]
RE:09255 秀丸メールでinput、question関数で表示位置を合わせNo.09256
秀まるお2 さん 20/08/25 17:33 [ コメントを投稿する ]
   秀丸メールの中の秀丸エディタ相当部分ですが、すみませんが最近は同期してなくて、多少古いバージョン相当になってしまってます。なので秀丸エディタ用の最新のマクロ命令が使えないです。

 秀丸メールの現在の最新版で一通り安定してると思うので、これを機会に最新版秀丸エディタとソースコード同期を取って、なるべく早めにβ版として一回アップロードしたいと思います。
[ ]
RE:09256 秀丸メールでinput、question関数で表示位置を合No.09257
powerofdreams さん 20/08/25 20:15 [ コメントを投稿する ]
  秀まるお2様

お返事ありがとうございます。

検討いただけるとのこと、大変嬉しく思います。
こちらも、秀丸エディター=秀丸メールと考えすぎないようにしなくてはいけませんね。

今でも前向きにエンハンスしてくださってありがとうございます。
[ ]
RE:09257 秀丸メールでinput、question関数で表示位置を合No.09258
秀丸担当 さん 20/08/26 09:31 [ コメントを投稿する ]
 
参考情報としてですが、現状の秀丸メールまたは秀丸エディタV8.85未満では、別途杉浦まさきさん作の田楽DLLを用意していただいて、input文とは違うダイアログを作ってやる方法も考えられます。

以下は、田楽DLLに付属のサンプルの一部を切り抜いただけのような例です。

loaddll hidemarudir + "\\DengakuDLL.dll";
if (!result) {
    message "DLL をロードできませんでした。";
    endmacro;
}
call InputByDengaku;
message $$return;
endmacro;

InputByDengaku:
if (dllfunc("NEWDIALOG","入力テスト",60,"") == 0 ||
    dllfunc("NEWCONTROL","text","","メッセージ") == 0 ||
    dllfunc("NEWCONTROL","edit","edt1","入力") == 0 ||
    dllfunc("NEWCONTROL","okcancel","","") == 0) {
    message "エラー:NEWDIALOG";
    return "";
}
if (!dllfunc("SHOWDIALOG",hidemaruhandle(0),1)) {
    message "エラー:SHOWDIALOG";
    return "";
}
while (1) {
    $name = "";
    while (strlen($name) == 0) {
        $name = dllfuncstr("WAITCTRLNOTIFY",10);
    }
    if ($name == "0" || $name == "1") break;
}
if (!dllfunc("ENDDIALOG")) {
    message "エラー:ENDDIALOG";
    return "";
}
return dllfuncstr("GETCTRLSTRING","edt1");
[ ]
RE:09258 秀丸メールでinput、question関数で表示位置を合No.09259
powerofdreams さん 20/08/26 16:41 [ コメントを投稿する ]
  秀丸担当さま

代替手段のご提示ありがとうございます。
確認しましたが、確かに中央に統一することはできました。


勝手な仕様なのですが、出来るだけシンプルにしたいので、
秀丸メールのエンハンスを待ちたいと思います。

気長に待っています。
親切に教えてくださってありがとうございました。
[ ]
RE:09259 秀丸メールでinput、question関数で表示位置を合No.09260
秀まるお2 さん 20/08/27 18:26 [ コメントを投稿する ]
   秀丸エディタの最新版ソースコードと同期して、とりあえず手元でうまく動くようにはなりました。マクロのinput関数の新しいパラメータも使えることを確認しました。

 来週中にアップロードできると思います。

 アップロードした時は、秀丸メールの会議室(8番会議室)に案内を書き込みさせていただきます。
[ ]
RE:09260 秀丸メールでinput、question関数で表示位置を合No.09262
powerofdreams さん 20/08/28 14:46 [ コメントを投稿する ]
  秀まるお2様

早速の対応、ありがとうございます。
1ユーザーの要望をきかっけに、動いてくださって本当に感謝しています。

ただ、秀丸メールでちょっとバグのようなものを見つけてしまいました。
もし、簡単に治るものであれば、新バージョンに取り込んでいただければと思います。面倒くさいようでしたら全くでも構いません。

よろしくお願いいたします。


[ ]
RE:09262 秀丸メールでinput、question関数で表示位置を合No.09263
powerofdreams さん 20/08/28 15:08 [ コメントを投稿する ]
  秀まるお2様

>ただ、秀丸メールでちょっとバグのようなものを見つけてしまいました。

大変失礼しました。
こちらのミスでバグではございませんでした。
申し訳ございません。
[ ]

[ 新規に投稿する ]