ab.com コミュニティ
https://www.activebasic.com/forum/

DOSプロント
https://www.activebasic.com/forum/viewtopic.php?t=4600
ページ 11

作成者:  TISAproject [ 2016年10月14日(金) 18:27 ]
記事の件名:  DOSプロント

DOSプロントで、windowサイズを変更できないようにするにはどうすればいいばしょう?

作成者:  たかせ [ 2016年11月09日(水) 19:38 ]
記事の件名:  Re: DOSプロント

引用:
DOSプロントで、windowサイズを変更できないようにするにはどうすればいいばしょう?
どういったことを実現したいのですか?
あまり必要性がないと私は思いますが。
DOSプロントでwindowサイズを変更できないようにする方法は私もよくわかりません(というかかなりめんどくさそうです)。

これは余談ですがRADで作成したノーマルウインドウならばサイズ変更枠⇔細枠(windowサイズを変更できない)の切替はプログラム実行中でも割と簡単にできます。

作成者:  TISAproject [ 2016年11月10日(木) 16:37 ]
記事の件名:  Re: DOSプロント

ほかのOSではわかりませんが、私はWindows10を使っています。
プロントを表示して、多くの文字をそこに出力させると、windowサイズを変えるときに、文字がどこかへ飛んでしまうのです。

作成者:  イグトランス [ 2016年11月12日(土) 17:11 ]
記事の件名:  Re: DOSプロント

あまりおすすめしませんが、一応可能です。
コード:
#console

Declare Function GetConsoleWindow Lib "kernel32.dll" () As HWND

Dim hwndConsole As HWND
hwndConsole = GetConsoleWindow()
Dim style As Long
style = GetWindowLong(hwndConsole, GWL_STYLE)
style = (style And Not (WS_THICKFRAME Or WS_MAXIMIZEBOX)) Or WS_DLGFRAME
SetWindowLong(hwndConsole, GWL_STYLE, style)
SetWindowPos(hwndConsole, NULL, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOZORDER Or SWP_FRAMECHANGED)

Print "テスト"
GetConsoleWindow()というAPI関数でDOSプロンプトのウィンドウハンドルが得られます。あとは、RADツールなど自分で作ったウィンドウと同様に、サイズ変更や最大化を許可しないようスタイル変更を行います。

あまりおすすめしない理由は、DOSプロンプトのウィンドウが自分の作ったプログラム以外とも共有して使うもの、つまり自分専用のものではないからです。command.comやcmd.exeなどからコマンドとして実行してもらう想定のプログラムを作る場合には、やらないほうが好ましいです。

作成者:  TISAproject [ 2016年11月13日(日) 11:07 ]
記事の件名:  Re: DOSプロント

ご丁寧な説明ありがとうございます

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/