---- Support BBS ----
[ 前の記事 | 次の記事 | 一覧 ]

[00727] 1737 byte
投稿日時: 2002年11月14日(木) 22時18分55秒
ホスト名: PPPa617.osaka-ip.dti.ne.jp(210.159.129.117)

Re: オートタイマー関数について

投稿者: 杉浦 まさき
e-mail: (入力されていません)
   URL: (入力されていません)

山紫水明さん、こんばんは。
杉浦 まさき です。

> > まぁ実装は比較的楽なのですが、マクロの tickcount キーワードを使えば
> > マクロでもできないことはないですし、
>  えっ? マクロでできるんですか!? それは知りませんでした。
>  それで,たとえば,
> (1) message "秀丸です";
>  というメッセージ分を1秒間だけ表示する。
> (2)question "よろしいですか";
>  という文で2秒後に「はい」を押す。
> という場合,それぞれどのようなマクロを書いたらよろしいのでしょうか?

要はメッセージボックス「みたいな」ダイアログを作成して、必要な秒数だけ
メッセージループを回すだけなんですが、例えば(1)の場合だと

loaddll hidemarudir + "\\DengakuDLL.dll";
#n = dllfunc("NEWDIALOG", "メッセージボックス?", 40, "0, 0, center");
#n = dllfunc("NEWCONTROL", "text", "", "このメッセージは1秒後に消えます。");
#n = dllfunc("NEWCONTROL", "defbutton", "", "OK");
#n = dllfunc("SETCTRLNOTIFY", "", "10");
#n = dllfunc("SHOWDIALOG", hidemaruhandle(0), 1);
#t = tickcount;
while (#t + 1000 > tickcount) {
    $item = dllfuncstr("WAITCTRLNOTIFY", 10);
    if ($item == "10") break;
}
#n = dllfunc("ENDDIALOG");
freedll;
endmacro;

みたいなコードでできると思います。
#見た目的に「ボタンを押した」ことがわからないのでアレですけど(^^;。

ちなみに、(2)は通知コードが "" だった場合は「はい」を押した
ものとして処理すればいいだけです。

> > 要するに複数のDLLのロード&アンロードを管理するラッパーDLLですが、
> > 一方でさすがにここまでやるのはモラルに反するような気もしているので、
> > 実際にやるかどうかはわからないですけど…。
>  こちらの方については,私からは別に意見はないです,はい。

昨日この発言を書いた後1時間ほどであっさりと(^^;できてしまいましたが、
さすがにこれを一般公開するのはどうにも…。
ちなみに、公開するとしたら欲しい人いますでしょうか??


[ 前の記事 | 次の記事 | 一覧 ]


<723> オートタイマー関数について (山紫水明) 11/13 22:34
<724> Re: オートタイマー関数について (杉浦 まさき) 11/14 00:40
 ├<725> (削除されています)
 └<726> Re: オートタイマー関数について (山紫水明) 11/14 21:51
  └>727< Re: オートタイマー関数について (杉浦 まさき) 11/14 22:18
   └<728> Re: オートタイマー関数について (山紫水明) 11/15 21:59
    └<729> Re: オートタイマー関数について (杉浦 まさき) 11/16 02:55

---- Support BBS ----