新しく発言する EXIT インデックスへ
質問です

  質問です H,O 2004/10/10 18:10:04 
  もうちょっと詳しくかいていただかないと状... 青木太一 2004/10/11 01:40:25 
   └WindowsAPIを使う方法は過去の掲示板37が参...2004/10/11 10:09:16 
    └ありがとうございました。やって見ます。 H,O 2004/10/11 22:05:55 

  質問です H,O 2004/10/10 18:10:04  ツリーへ

質問です 返事を書く
H,O 2004/10/10 18:10:04
あの〜、質問なんですけど、私のあるプログラムでexecute文を使っているんですけど、その間にinput文やcharacuterinput文を書くとでてくる枠を最前面の状態に保ちたいんですけどどうすればいいのですか。よろしくお願いします。

  もうちょっと詳しくかいていただかないと状... 青木太一 2004/10/11 01:40:25  ツリーへ

Re: 質問です 返事を書く
青木太一 2004/10/11 01:40:25
もうちょっと詳しくかいていただかないと状況がよくわかりません。
簡単なサンプルプログラムでも書いて、それがどう動いて欲しいつもりだったのかを書いていただけると、アドバイスしやすいと思います。

上記の質問では
・枠が消えて欲しくないinputは、「execute文を呼び出す側のプログラムに書いてある」のか、「executeで呼び出される側のプログラムなのか」がわからない
・そもそもinputやcharacter inputの枠は入力後に消えてしまうのだから、execute文は関係ないのでは?
(execute nowaitを使うと関係ある場合もあるかな...?)
などの問題点、疑問点があります。

ただ、そのうえで、枠を最前面に維持したり、フォーカスがそこにあるように維持することは
十進BASICではおそらく出来ないと思います。
(WindowsAPIにアクセスすればなんとかなるのかな...?)

   └WindowsAPIを使う方法は過去の掲示板37が参...2004/10/11 10:09:16  ツリーへ

Re: もうちょっと詳しくかいていただかないと状... 返事を書く
2004/10/11 10:09:16
WindowsAPIを使う方法は過去の掲示板37が参考になるかと?
例えばinputをアクティブにするには

DECLARE EXTERNAL FUNCTION FndWnd
DECLARE EXTERNAL FUNCTION ShowWnd

LET hWnd=FndWnd("TInputDialog","")
IF hWnd>0 THEN
LET n=ShowWnd(hWnd, 5)
END IF
END

EXTERNAL FUNCTION FndWnd(lpClassName$,lpWindowName$)
ASSIGN "user32.dll","FindWindowA"
END FUNCTION

EXTERNAL FUNCTION ShowWnd(hWnd, nCmdShow)
ASSIGN "user32.dll","ShowWindow"
END FUNCTION
でよろしいかと?

    └ありがとうございました。やって見ます。 H,O 2004/10/11 22:05:55  ツリーへ

Re: WindowsAPIを使う方法は過去の掲示板37が参... 返事を書く
H,O 2004/10/11 22:05:55
ありがとうございました。やって見ます。


インデックスへ EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。