Skip to content

フォントが変更できない #4

@katahiromz

Description

@katahiromz

現在のフォント(Consolas)は、等幅フォントではなく、汎用に使用するには問題があります。
フォントを変更できるようにすることが好ましいと思われます。

Image

「設定」ダイアログを追加し、何かのキーの組み合わせを押したら、DialogBox関数で「設定」ダイアログを開き、「設定」ダイアログの「フォントの変更」ボタン(psh1)を押すと、ChooseFont関数でフォントが選べるようにするのが、提案する実装です。

Image
1 DIALOG 0, 0, 162, 77
CAPTION "設定"
STYLE DS_CENTER | DS_MODALFRAME | WS_POPUPWINDOW | WS_CAPTION
FONT 9, "MS UI Gothic"
{
    LTEXT "Consolas", stc1, 11, 15, 39, 13
    PUSHBUTTON "フォントの変更...", psh1, 58, 7, 74, 26
    DEFPUSHBUTTON "OK", IDOK, 27, 53, 60, 14
    PUSHBUTTON "キャンセル", IDCANCEL, 90, 53, 60, 14
}

可能ならば、DialogBoxよりもPropertySheetを使うのが好ましいですが、後回しにしても構いません。
また、ダイアログではなく、メニューから「フォントの変更」を選べるようにしても構いません。その場合は、CreatePopupMenu/AppendMenuLoadMenu関数とTrackPopupMenu[Ex]関数(TPM_RETURNCMDフラグ付き)を使います。

1 MENU
{
    MENUITEM "フォントの変更...", 100
}

設定内容は、shlwapi.dllSHSetValueSHGetValueでレジストリで読み書きできます。

SHSetValue関数
https://learn.microsoft.com/ja-jp/windows/win32/api/shlwapi/nf-shlwapi-shsetvaluew

SHGetValue関数
https://learn.microsoft.com/ja-jp/windows/win32/api/shlwapi/nf-shlwapi-shgetvaluew

レジストリの保存先は、HKEY_CURRENT_USER"Software\\kenjinote\\miu" あたりでいかがでしょう?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions