「N88、プロンプトモード」の起動サイズについて

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
たこぴぃ

「N88、プロンプトモード」の起動サイズについて

#1 投稿記事 by たこぴぃ »

(超初心者です。)

N88モードや、プロンプトモードを使用しているのですが、

デバック中の実行画面や、exeファイル化した後の実行画面のウィンドウサイズですが、
起動時の画面サイズは、ディスプレイの解像度に依存されるのか(?)、いつも決まったサイズになります。

これを、起動時に、どのパソコンを利用しても同じサイズに表示させるように数字で指定することはできないのでしょうか?

小さめの画面を想定して、レイアウトをしても、
大きい画面では、起動時に、余白ばかりが目立ってしまいバランスが悪くなり、
マウスでドラッグして、画面サイズを調整しないといけない。

大きい画面では、古めのノートパソコンなどでは、
マウスでドラッグして、大きくしないと、表示されない。

(初歩的な質問でスミマセン。)

N88やプロンプトなどのモードではなく、
ウィンドウ制御をしないとできないことなのでしょうか?
xsb7
記事: 10
登録日時: 2006年3月01日(水) 13:54
連絡する:

#2 投稿記事 by xsb7 »

#N88BASICの後ろに、

コード: 全て選択

SetWindowPos(_PromptSys_hWnd,0,0,0,width,height,SWP_NOZORDER or SWP_NOMOVE)
とすれば、一瞬ディスプレイの解像度に依存した大きさにはなるんですが、その後お好みの幅および高さになります。

ただ、非正式な方法ですので、将来にわたって使える保障はありません。
時代遅れの初心者

#3 投稿記事 by 時代遅れの初心者 »

basicフォルダ内にあるprompt.sbpファイルの

'Create Prompt Window
_PromptSys_hWnd=CreateWindowEx(WS_EX_CLIENTEDGE,"PROMPT","BASIC PROMPT",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,0,0,GetModuleHandle(0),0)
ShowWindow(_PromptSys_hWnd,SW_SHOW)

この部分を書き換えてはまずいでしょうか?。
バージョンは3.13です。

回答でなくてすみません。
イグトランス
記事: 899
登録日時: 2005年5月31日(火) 17:59
お住まい: 東京都
連絡する:

#4 投稿記事 by イグトランス »

それを書き換えても自分のPCでコンパイルしたときしか有効でないと言うのが欠点です。
だからと言ってこれと言った代案も無いですけど。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#5 投稿記事 by konisi »

N88モードのウインドウのハンドルは_PromptSys_hWndなので、#N88BASIC文か#prompt文の下の行に

コード: 全て選択


Const cx=600'幅
Const cy=400'高さ
SetWindowPos(_PromptSys_hWnd,ByVal NULL,0,0,cx,cy,SWP_DRAWFRAME or SWP_NOMOVE or SWP_SHOWWINDOW)
と書くのはどうでしょう?
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
時代遅れの初心者

#6 投稿記事 by 時代遅れの初心者 »

#N88BASICと書く代わりにbasicフォルダ内にあるprompt.sbpファイルの
内容をそっくりソースに貼り付けてしまってはどうなんでしょうか。

そのあとで'Create Prompt Windowのあたりをいじれば……

ただこんなことして副作用が出る可能性はないのか心配です。
私には想像もつきません。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

その方法による副作用にてついて。

#7 投稿記事 by konisi »

確かにそれも有効ですが、いくつか副作用が上げられます。
先ず第一に、今後バージョンアップされた時に必要な関数が何らかの原因(対応するDLL内関数群と名前がダブる、等)によって別の名前になる可能性があると仮定した場合、コンパイルが通らないことが予測されること。
第二に、現在のprompt.sbp自体にバグが残っていた場合、今後のバージョンアップによってバグフィッシュされるべき箇所が修正されないこと。
第三に、現在の文法の一部が今後のバージョンアップによって廃止になると仮定した時、現在のprompt.sbpの一部分が未来のバージョンのコンパイラによってはじかれる事が予測されること。

マァこんなところでしょうか。


どっちみち、コンパイルしたバージョンを書いておけば大きな問題にはなりませんが?
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
イグトランス
記事: 899
登録日時: 2005年5月31日(火) 17:59
お住まい: 東京都
連絡する:

#8 投稿記事 by イグトランス »

ようするに#N88BASICのウィンドウを非表示した状態でプログラムを開始できればよいのではないかと思います。
非表示の状態でウィンドウの大きさなどを変更した後で表示させるという具合に。

要望に出したらどうかと思います。
返信する