ページ 1 / 1
「N88、プロンプトモード」の起動サイズについて
Posted: 2006年3月03日(金) 03:42
by たこぴぃ
(超初心者です。)
N88モードや、プロンプトモードを使用しているのですが、
デバック中の実行画面や、exeファイル化した後の実行画面のウィンドウサイズですが、
起動時の画面サイズは、ディスプレイの解像度に依存されるのか(?)、いつも決まったサイズになります。
これを、起動時に、どのパソコンを利用しても同じサイズに表示させるように数字で指定することはできないのでしょうか?
小さめの画面を想定して、レイアウトをしても、
大きい画面では、起動時に、余白ばかりが目立ってしまいバランスが悪くなり、
マウスでドラッグして、画面サイズを調整しないといけない。
大きい画面では、古めのノートパソコンなどでは、
マウスでドラッグして、大きくしないと、表示されない。
(初歩的な質問でスミマセン。)
N88やプロンプトなどのモードではなく、
ウィンドウ制御をしないとできないことなのでしょうか?
Posted: 2006年3月03日(金) 09:42
by xsb7
#N88BASICの後ろに、
コード: 全て選択
SetWindowPos(_PromptSys_hWnd,0,0,0,width,height,SWP_NOZORDER or SWP_NOMOVE)
とすれば、一瞬ディスプレイの解像度に依存した大きさにはなるんですが、その後お好みの幅および高さになります。
ただ、非正式な方法ですので、将来にわたって使える保障はありません。
Posted: 2006年3月03日(金) 23:54
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です。
回答でなくてすみません。
Posted: 2006年3月04日(土) 09:23
by イグトランス
それを書き換えても自分のPCでコンパイルしたときしか有効でないと言うのが欠点です。
だからと言ってこれと言った代案も無いですけど。
Posted: 2006年3月04日(土) 11:41
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)
と書くのはどうでしょう?
Posted: 2006年3月04日(土) 23:50
by 時代遅れの初心者
#N88BASICと書く代わりにbasicフォルダ内にあるprompt.sbpファイルの
内容をそっくりソースに貼り付けてしまってはどうなんでしょうか。
そのあとで'Create Prompt Windowのあたりをいじれば……
ただこんなことして副作用が出る可能性はないのか心配です。
私には想像もつきません。
その方法による副作用にてついて。
Posted: 2006年3月05日(日) 23:15
by konisi
確かにそれも有効ですが、いくつか副作用が上げられます。
先ず第一に、今後バージョンアップされた時に必要な関数が何らかの原因(対応するDLL内関数群と名前がダブる、等)によって別の名前になる可能性があると仮定した場合、コンパイルが通らないことが予測されること。
第二に、現在のprompt.sbp自体にバグが残っていた場合、今後のバージョンアップによってバグフィッシュされるべき箇所が修正されないこと。
第三に、現在の文法の一部が今後のバージョンアップによって廃止になると仮定した時、現在のprompt.sbpの一部分が未来のバージョンのコンパイラによってはじかれる事が予測されること。
マァこんなところでしょうか。
どっちみち、コンパイルしたバージョンを書いておけば大きな問題にはなりませんが?
Posted: 2006年3月06日(月) 13:04
by イグトランス
ようするに#N88BASICのウィンドウを非表示した状態でプログラムを開始できればよいのではないかと思います。
非表示の状態でウィンドウの大きさなどを変更した後で表示させるという具合に。
要望に出したらどうかと思います。