diff --git a/sakura_core/dlg/CDialog.cpp b/sakura_core/dlg/CDialog.cpp index c314b2254b..37944d8236 100644 --- a/sakura_core/dlg/CDialog.cpp +++ b/sakura_core/dlg/CDialog.cpp @@ -185,13 +185,13 @@ BOOL CDialog::OnInitDialog( HWND hwndDlg, WPARAM wParam, LPARAM lParam ) // Modified by KEITA for WIN64 2003.9.6 ::SetWindowLongPtr( m_hWnd, DWLP_USER, lParam ); + m_hFontDialog = UpdateDialogFont( hwndDlg ); + /* ダイアログデータの設定 */ SetData(); SetDialogPosSize(); - m_hFontDialog = UpdateDialogFont( hwndDlg ); - m_bInited = TRUE; return TRUE; } diff --git a/sakura_core/dlg/CDlgPrintSetting.cpp b/sakura_core/dlg/CDlgPrintSetting.cpp index 5343b5605e..d2b297e82a 100644 --- a/sakura_core/dlg/CDlgPrintSetting.cpp +++ b/sakura_core/dlg/CDlgPrintSetting.cpp @@ -160,14 +160,7 @@ BOOL CDlgPrintSetting::OnInitDialog( HWND hwndDlg, WPARAM wParam, LPARAM lParam // ::SetTimer( GetHwnd(), IDT_PRINTSETTING, 500, NULL ); //UpdatePrintableLineAndColumn(); - BOOL bRet = CDialog::OnInitDialog( GetHwnd(), wParam, lParam ); - - // ダイアログフォントの寸法を得ておく - LOGFONT lf; - ::GetObject(GetDialogFont(), sizeof(LOGFONT), &lf); - m_nFontHeight = lf.lfHeight; // フォントサイズ - - return bRet; + return CDialog::OnInitDialog( GetHwnd(), wParam, lParam ); } BOOL CDlgPrintSetting::OnDestroy( void ) @@ -905,14 +898,17 @@ void CDlgPrintSetting::SetFontName( int idTxt, int idUse, LOGFONT& lf, int nPoin CheckDlgButtonBool( GetHwnd(), idUse, bUseFont); ::EnableWindow( GetItemHwnd( idUse ), bUseFont ); if (bUseFont) { - LOGFONT lft; - lft = lf; - lft.lfHeight = m_nFontHeight; // フォントサイズをダイアログに合せる + // サイズだけはダイアログフォントに合わせ + // それ以外は引数lfで指定された設定を採用 + LOGFONT lfCreate = lf; + LOGFONT lfDialogFont = {}; + ::GetObject( GetDialogFont(), sizeof(LOGFONT), &lfDialogFont ); + lfCreate.lfHeight = lfDialogFont.lfHeight; HFONT hFontOld = (HFONT)::SendMessage(GetItemHwnd( idTxt ), WM_GETFONT, 0, 0 ); // 論理フォントを作成 - HFONT hFont = ::CreateFontIndirect( &lft ); + HFONT hFont = ::CreateFontIndirect( &lfCreate ); if (hFont) { // フォントの設定 ::SendMessage( GetItemHwnd( idTxt ), WM_SETFONT, (WPARAM)hFont, MAKELPARAM(FALSE, 0) ); diff --git a/sakura_core/dlg/CDlgPrintSetting.h b/sakura_core/dlg/CDlgPrintSetting.h index 7110f295a2..6b60c5c9fa 100644 --- a/sakura_core/dlg/CDlgPrintSetting.h +++ b/sakura_core/dlg/CDlgPrintSetting.h @@ -58,7 +58,6 @@ class CDlgPrintSetting final : public CDialog PRINTSETTING m_PrintSettingArr[MAX_PRINTSETTINGARR]; int m_nLineNumberColumns; // 行番号表示する場合の桁数 bool m_bPrintableLinesAndColumnInvalid; - int m_nFontHeight; // ダイアログのフォントのサイズ protected: /*