FreeBASIC 実行画面(Windows コンソール)のサイズと文字の大きさを変える方法
目次→フォーラム→FreeBASIC→補足→VIEW PRINT←オリジナル・サイト
FreeBASIC の実行画面は、「コマンド プロンプトのプロパティ」を操作して、サイズを変更することができます。
FreeBASIC のフォーラムに掲載されていたプログラムを転載します。
目次
レジストリ情報
コマンド プロンプトの既定値で表示
ChangeConsoleModeFont.bas
CommandPromptFontsZippy.bas
CommandPromptFontsPhishguy.bas
レジストリ情報
レジストリーの設定
コマンドプロンプト(コンソール)に関する各種設定
https://kledgeb.blogspot.com/2017/06/windows-9.html
Windows レジストリ 解剖記
https://www.pg-fl.jp/program/winreg/
・HKEY_CURRENT_USER
https://www.pg-fl.jp/program/winreg/cuser.htm
コマンドプロンプトのデフォルトフォント変更
http://sunday-programming.hatenablog.com/entry/2014/03/10/163209
コマンドラインを強化せよ! - Windows 7のコマンドプロンプトをカスタマイズする
コマンドプロンプトのフォントとウィンドウサイズを変更する
https://news.mynavi.jp/article/20110705-commandline/3
https://news.mynavi.jp/article/20110705-commandline/4
コマンド プロンプトの既定値で表示
結果が100未満になる足し算、および、100未満の数からの引き算の問題を自動生成
ChangeConsoleModeFont.bas
GetSystemMetrics
さまざまなシステム・メトリックの値(表示要素の幅と高さ)とシステムの現在の構成を取得します。
表示要素とは、ウィンドウの一部、またはシステムが表示する画面の一部を意味します(詳細については、GetSysColor 関数の説明を参照してください)。
GetSystemMetrics 関数は、すべてのサイズをピクセル単位で取得します。
SM_CXSCREEN,SM_CYSCREEN
プライマリモニタの画面全体の幅と高さを取得します。これらは、(hdcPrimaryMonitor, HORZRES/VERTRES) を呼び出して取得するのと同じ値です。
RegOpenKeyEx
指定されたレジストリキーを開きます。
LONG RegOpenKeyEx(
HKEY hKey, // 開いている親キーのハンドル
LPCTSTR lpSubKey, // 開くべきサブキーの名前
DWORD ulOptions, // 予約済み
REGSAM samDesired, // セキュリティアクセスマスク
PHKEY phkResult // 開くことに成功したサブキーのハンドル
);
KEY_ALL_ACCESS
STANDARD_RIGHTS_REQUIRED, KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK, KEY_SET_VALUE アクセスの組み合わせです。
RegCreateKeyEx
指定されたレジストリキーを作成します。そのキーが既に存在している場合、そのキーを開きます。
LONG RegCreateKeyEx(
HKEY hKey, // 開くべきキーのハンドル
LPCTSTR lpSubKey, // サブキーの名前
DWORD Reserved, // 予約済み
LPTSTR lpClass, // クラスの文字列
DWORD dwOptions, // 特別なオプション
REGSAM samDesired, // 希望のセキュリティアクセス権
LPSECURITY_ATTRIBUTES lpSecurityAttributes, // 継承の指定
PHKEY phkResult, // キーのハンドル
LPDWORD lpdwDisposition // 既存かどうかを示す値が格納される変数
);
RegSetValueEx
指定されたレジストリキーに所属する、指定された 1 つのレジストリエントリのデータとデータ型を設定します。
レジストリエディタ(Regedt32.exe または Regedit.exe)は、ここで言う「レジストリエントリ」を「値」(英語版は Value)と呼んでいます。どちらも同じものを意味していて、「名前」(レジストリエントリ名)と「データ」(レジストリエントリのデータ)で構成されています。
LONG RegSetValueEx(
HKEY hKey, // 親キーのハンドル
LPCTSTR lpValueName, // レジストリエントリ名
DWORD Reserved, // 予約済み
DWORD dwType, // レジストリエントリのデータ型
CONST BYTE *lpData, // レジストリエントリのデータ
DWORD cbData // レジストリエントリのデータのサイズ
);
★FontSize
文字のサイズに関する値が入ります。
ラスターフォントの場合は16進数の下4桁が横のサイズ(0x7FFFまで)、上4桁が縦のサイズ(0x7FFFまで)になります。
その他のフォントの場合は16進数の上4桁がフォントサイズ(0x7FFFまで)になります。
16 進数の数値をコードで書きたいときは&HFFのように、頭に &H を付けます。
CommandPromptFontsZippy.bas
CommandPromptFontsPhishguy.bas
SetWindowPos
子ウィンドウ、ポップアップウィンドウ、またはトップレベルウィンドウのサイズ、位置、および Z オーダーを変更します。
これらのウィンドウは、その画面上での表示に従って順序が決められます。
最前面にあるウィンドウは最も高いランクを与えられ、Z オーダーの先頭に置かれます。
BOOL SetWindowPos(
HWND hWnd, // ウィンドウのハンドル
HWND hWndInsertAfter, // 配置順序のハンドル
int X, // 横方向の位置
int Y, // 縦方向の位置
int cx, // 幅
int cy, // 高さ
UINT uFlags // ウィンドウ位置のオプション
);
日本語著作:WATANABE Makoto
