From aa615db6bcef253ac7884d9d274ce7ffa39bf54e Mon Sep 17 00:00:00 2001 From: "D.Miwa" Date: Tue, 25 May 2021 01:06:49 +0900 Subject: [PATCH] =?UTF-8?q?=E5=8D=B0=E5=88=B7=E3=83=9A=E3=83=BC=E3=82=B8?= =?UTF-8?q?=E8=A8=AD=E5=AE=9A=E3=83=80=E3=82=A4=E3=82=A2=E3=83=AD=E3=82=B0?= =?UTF-8?q?=E3=81=AE=E3=83=95=E3=82=A9=E3=83=B3=E3=83=88=E3=81=8C=E5=B7=A8?= =?UTF-8?q?=E5=A4=A7=E5=8C=96=E3=81=99=E3=82=8B=E5=95=8F=E9=A1=8C=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sakura_core/dlg/CDialog.cpp | 4 ++-- sakura_core/dlg/CDlgPrintSetting.cpp | 20 ++++++++------------ sakura_core/dlg/CDlgPrintSetting.h | 1 - 3 files changed, 10 insertions(+), 15 deletions(-) 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: /*