Skip to content

Commit

Permalink
印刷ページ設定ダイアログのフォントが巨大化する問題を修正
Browse files Browse the repository at this point in the history
  • Loading branch information
suconbu committed May 24, 2021
1 parent 81f08b1 commit aa615db
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 15 deletions.
4 changes: 2 additions & 2 deletions sakura_core/dlg/CDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
20 changes: 8 additions & 12 deletions sakura_core/dlg/CDlgPrintSetting.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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 )
Expand Down Expand Up @@ -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) );
Expand Down
1 change: 0 additions & 1 deletion sakura_core/dlg/CDlgPrintSetting.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ class CDlgPrintSetting final : public CDialog
PRINTSETTING m_PrintSettingArr[MAX_PRINTSETTINGARR];
int m_nLineNumberColumns; // 行番号表示する場合の桁数
bool m_bPrintableLinesAndColumnInvalid;
int m_nFontHeight; // ダイアログのフォントのサイズ

protected:
/*
Expand Down

0 comments on commit aa615db

Please sign in to comment.