-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
現在のフォント(Consolas)は、等幅フォントではなく、汎用に使用するには問題があります。
フォントを変更できるようにすることが好ましいと思われます。
「設定」ダイアログを追加し、何かのキーの組み合わせを押したら、DialogBox関数で「設定」ダイアログを開き、「設定」ダイアログの「フォントの変更」ボタン(psh1)を押すと、ChooseFont関数でフォントが選べるようにするのが、提案する実装です。
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/AppendMenuかLoadMenu関数とTrackPopupMenu[Ex]関数(TPM_RETURNCMDフラグ付き)を使います。
1 MENU
{
MENUITEM "フォントの変更...", 100
}
設定内容は、shlwapi.dllのSHSetValueとSHGetValueでレジストリで読み書きできます。
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" あたりでいかがでしょう?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels