/* ダイアログデータの設定 */ void CPropTab::SetData( HWND hwndDlg ) { // Feb. 11, 2007 genta「ウィンドウ」シートより移動 ::CheckDlgButton( hwndDlg, IDC_CHECK_DispTabWnd, m_Common.m_sTabBar.m_bDispTabWnd ); //@@@ 2003.05.31 MIK ::CheckDlgButton( hwndDlg, IDC_CHECK_SameTabWidth, m_Common.m_sTabBar.m_bSameTabWidth ); //@@@ 2006.01.28 ryoji ::CheckDlgButton( hwndDlg, IDC_CHECK_DispTabIcon, m_Common.m_sTabBar.m_bDispTabIcon ); //@@@ 2006.01.28 ryoji ::CheckDlgButton( hwndDlg, IDC_CHECK_SortTabList, m_Common.m_sTabBar.m_bSortTabList ); //@@@ 2006.03.23 fon CheckDlgButtonBool( hwndDlg, IDC_CHECK_TAB_MULTILINE, m_Common.m_sTabBar.m_bTabMultiLine ); ::CheckDlgButton( hwndDlg, IDC_CHECK_DispTabWndMultiWin, ! m_Common.m_sTabBar.m_bDispTabWndMultiWin ); //@@@ 2003.05.31 MIK EditCtl_LimitText( ::GetDlgItem( hwndDlg, IDC_TABWND_CAPTION ), _countof( m_Common.m_sTabBar.m_szTabWndCaption ) - 1 ); ::DlgItem_SetText( hwndDlg, IDC_TABWND_CAPTION, m_Common.m_sTabBar.m_szTabWndCaption ); HWND hwndCombo = ::GetDlgItem( hwndDlg, IDC_CHECK_DispTabClose ); Combo_ResetContent( hwndCombo ); int nSelPos = 0; for( int i = 0; i < _countof( DispTabCloseArr ); ++i ){ Combo_InsertString( hwndCombo, i, LS(DispTabCloseArr[i].nNameId) ); if( DispTabCloseArr[i].nMethod == m_Common.m_sTabBar.m_bDispTabClose ){ nSelPos = i; } } Combo_SetCurSel( hwndCombo, nSelPos ); hwndCombo = ::GetDlgItem( hwndDlg, IDC_COMBO_TAB_POSITION ); Combo_ResetContent( hwndCombo ); nSelPos = 0; for( int i = 0; i < _countof( TabPosArr ); ++i ){ Combo_InsertString( hwndCombo, i, LS(TabPosArr[i].nNameId) ); if( TabPosArr[i].nMethod == m_Common.m_sTabBar.m_eTabPosition ){ nSelPos = i; } } Combo_SetCurSel( hwndCombo, nSelPos ); // Feb. 11, 2007 genta 新規作成 ::CheckDlgButton( hwndDlg, IDC_CHECK_RetainEmptyWindow, m_Common.m_sTabBar.m_bTab_RetainEmptyWin ); ::CheckDlgButton( hwndDlg, IDC_CHECK_CloseOneWin, m_Common.m_sTabBar.m_bTab_CloseOneWin ); ::CheckDlgButton( hwndDlg, IDC_CHECK_ChgWndByWheel, m_Common.m_sTabBar.m_bChgWndByWheel ); // 2007.04.03 ryoji ::CheckDlgButton( hwndDlg, IDC_CHECK_OpenNewWin, m_Common.m_sTabBar.m_bNewWindow ); // 2009.06.17 // タブ フォント // 2013/4/24 Uchi m_hTabFont = SetFontLabel( hwndDlg, IDC_STATIC_TABFONT, m_Common.m_sTabBar.m_lf, m_Common.m_sTabBar.m_nPointSize); EnableTabPropInput(hwndDlg); }
// フォント名/使用ボタンの設定 void CDlgPrintSetting::SetFontName( int idTxt, int idUse, LOGFONT& lf, int nPointSize ) { TCHAR szName[100]; bool bUseFont = lf.lfFaceName[0] != _T('\0'); CheckDlgButtonBool( GetHwnd(), idUse, bUseFont); ::EnableWindow( GetItemHwnd( idUse ), bUseFont ); if (bUseFont) { LOGFONT lft; lft = lf; lft.lfHeight = m_nFontHeight; // フォントサイズをダイアログに合せる HFONT hFontOld = (HFONT)::SendMessage(GetItemHwnd( idTxt ), WM_GETFONT, 0, 0 ); // 論理フォントを作成 HFONT hFont = ::CreateFontIndirect( &lft ); if (hFont) { // フォントの設定 ::SendMessage( GetItemHwnd( idTxt ), WM_SETFONT, (WPARAM)hFont, MAKELPARAM(FALSE, 0) ); } if (m_hFontDlg != hFontOld) { // 古いフォントの破棄 ::DeleteObject( hFontOld ); } // フォント名/サイズの作成 int nMM = MulDiv( nPointSize, 254, 720 ); // フォントサイズ計算(pt->1/10mm) auto_sprintf(szName, nPointSize%10 ? _T("%.32s(%.1fpt/%d.%dmm)") : _T("%.32s(%.0fpt/%d.%dmm)"), lf.lfFaceName, double(nPointSize)/10, nMM/10, nMM/10); } else { szName[0] = _T('\0'); } ::DlgItem_SetText( GetHwnd(), idTxt, szName ); }
/* ダイアログデータの設定 */ void CDlgGrep::SetData( void ) { /* 検索文字列 */ ::DlgItem_SetText( GetHwnd(), IDC_COMBO_TEXT, m_strText.c_str() ); /* 検索ファイル */ ::DlgItem_SetText( GetHwnd(), IDC_COMBO_FILE, m_szFile ); /* 検索フォルダ */ ::DlgItem_SetText( GetHwnd(), IDC_COMBO_FOLDER, m_szFolder ); if((m_szFolder[0] == _T('\0') || m_pShareData->m_Common.m_sSearch.m_bGrepDefaultFolder) && m_szCurrentFilePath[0] != _T('\0') ){ TCHAR szWorkFolder[MAX_PATH]; TCHAR szWorkFile[MAX_PATH]; SplitPath_FolderAndFile( m_szCurrentFilePath, szWorkFolder, szWorkFile ); SetGrepFolder( GetItemHwnd(IDC_COMBO_FOLDER), szWorkFolder ); } /* サブフォルダからも検索する */ ::CheckDlgButton( GetHwnd(), IDC_CHK_SUBFOLDER, m_bSubFolder ); // この編集中のテキストから検索する ::CheckDlgButton( GetHwnd(), IDC_CHK_FROMTHISTEXT, m_bFromThisText ); // 2010.05.30 関数化 SetDataFromThisText( m_bFromThisText != FALSE ); /* 英大文字と英小文字を区別する */ ::CheckDlgButton( GetHwnd(), IDC_CHK_LOHICASE, m_sSearchOption.bLoHiCase ); // 2001/06/23 N.Nakatani 現時点ではGrepでは単語単位の検索はサポートできていません // 2002/03/07 テストサポート /* 一致する単語のみ検索する */ ::CheckDlgButton( GetHwnd(), IDC_CHK_WORD, m_sSearchOption.bWordOnly ); // ::EnableWindow( ::GetDlgItem( GetHwnd(), IDC_CHK_WORD ) , false ); //チェックボックスを使用不可にすも /* 文字コード自動判別 */ // ::CheckDlgButton( GetHwnd(), IDC_CHK_KANJICODEAUTODETECT, m_bKanjiCode_AutoDetect ); // 2002/09/22 Moca Add /* 文字コードセット */ { int nIdx, nCurIdx = -1; ECodeType nCharSet; HWND hWndCombo = ::GetDlgItem( GetHwnd(), IDC_COMBO_CHARSET ); nCurIdx = Combo_GetCurSel( hWndCombo ); CCodeTypesForCombobox cCodeTypes; for( nIdx = 0; nIdx < cCodeTypes.GetCount(); nIdx++ ){ nCharSet = (ECodeType)Combo_GetItemData( hWndCombo, nIdx ); if( nCharSet == m_nGrepCharSet ){ nCurIdx = nIdx; } } if( nCurIdx != -1 ){ Combo_SetCurSel( hWndCombo, nCurIdx ); }else{ ::CheckDlgButton( GetHwnd(), IDC_CHECK_CP, TRUE ); ::EnableWindow( ::GetDlgItem( GetHwnd(), IDC_CHECK_CP ), FALSE ); nCurIdx = CCodePage::AddComboCodePages(GetHwnd(), hWndCombo, m_nGrepCharSet); if( nCurIdx == -1 ){ Combo_SetCurSel( hWndCombo, 0 ); } } } /* 行を出力するか該当部分だけ出力するか */ if( m_nGrepOutputLineType == 1 ){ ::CheckDlgButton( GetHwnd(), IDC_RADIO_OUTPUTLINE, TRUE ); }else if( m_nGrepOutputLineType == 2 ){ ::CheckDlgButton( GetHwnd(), IDC_RADIO_NOHIT, TRUE ); }else{ ::CheckDlgButton( GetHwnd(), IDC_RADIO_OUTPUTMARKED, TRUE ); } ::EnableWindow( ::GetDlgItem( GetHwnd(), IDC_CHECK_BASE_PATH ), TRUE ); ::EnableWindow( ::GetDlgItem( GetHwnd(), IDC_CHECK_SEP_FOLDER ),TRUE ); /* Grep: 出力形式 */ if( 1 == m_nGrepOutputStyle ){ ::CheckDlgButton( GetHwnd(), IDC_RADIO_OUTPUTSTYLE1, TRUE ); }else if( 2 == m_nGrepOutputStyle ){ ::CheckDlgButton( GetHwnd(), IDC_RADIO_OUTPUTSTYLE2, TRUE ); }else if( 3 == m_nGrepOutputStyle ){ ::CheckDlgButton( GetHwnd(), IDC_RADIO_OUTPUTSTYLE3, TRUE ); ::EnableWindow( ::GetDlgItem( GetHwnd(), IDC_CHECK_BASE_PATH ), FALSE ); ::EnableWindow( ::GetDlgItem( GetHwnd(), IDC_CHECK_SEP_FOLDER ),FALSE ); }else{ ::CheckDlgButton( GetHwnd(), IDC_RADIO_OUTPUTSTYLE1, TRUE ); } // From Here Jun. 29, 2001 genta // 正規表現ライブラリの差し替えに伴う処理の見直し // 処理フロー及び判定条件の見直し。必ず正規表現のチェックと // 無関係にCheckRegexpVersionを通過するようにした。 if( CheckRegexpVersion( GetHwnd(), IDC_STATIC_JRE32VER, false ) && m_sSearchOption.bRegularExp){ /* 英大文字と英小文字を区別する */ ::CheckDlgButton( GetHwnd(), IDC_CHK_REGULAREXP, 1 ); // 正規表現のときも選択できるように。 // ::CheckDlgButton( GetHwnd(), IDC_CHK_LOHICASE, 1 ); // ::EnableWindow( ::GetDlgItem( GetHwnd(), IDC_CHK_LOHICASE ), FALSE ); // 2001/06/23 N.Nakatani /* 単語単位で探す */ ::EnableWindow( ::GetDlgItem( GetHwnd(), IDC_CHK_WORD ), FALSE ); } else { ::CheckDlgButton( GetHwnd(), IDC_CHK_REGULAREXP, 0 ); } // To Here Jun. 29, 2001 genta if( m_szCurrentFilePath[0] != _T('\0') ){ ::EnableWindow( ::GetDlgItem( GetHwnd(), IDC_CHK_FROMTHISTEXT ), TRUE ); }else{ ::EnableWindow( ::GetDlgItem( GetHwnd(), IDC_CHK_FROMTHISTEXT ), FALSE ); } CheckDlgButtonBool( GetHwnd(), IDC_CHECK_FILE_ONLY, m_bGrepOutputFileOnly ); CheckDlgButtonBool( GetHwnd(), IDC_CHECK_BASE_PATH, m_bGrepOutputBaseFolder ); CheckDlgButtonBool( GetHwnd(), IDC_CHECK_SEP_FOLDER, m_bGrepSeparateFolder ); // フォルダの初期値をカレントフォルダにする ::CheckDlgButton( GetHwnd(), IDC_CHK_DEFAULTFOLDER, m_pShareData->m_Common.m_sSearch.m_bGrepDefaultFolder ); return; }
/* 設定のタイプが変わった */ void CDlgPrintSetting::OnChangeSettingType( BOOL bGetData ) { HWND hwndComboSettingName; HWND hwndCtrl; int nIdx1; int nItemNum; int nItemData; int i; if( bGetData ){ GetData(); } hwndComboSettingName = GetItemHwnd( IDC_COMBO_SETTINGNAME ); nIdx1 = Combo_GetCurSel( hwndComboSettingName ); if( CB_ERR == nIdx1 ){ return; } m_nCurrentPrintSetting = Combo_GetItemData( hwndComboSettingName, nIdx1 ); /* フォント一覧 */ hwndCtrl = GetItemHwnd( IDC_COMBO_FONT_HAN ); nIdx1 = Combo_FindStringExact( hwndCtrl, 0, m_PrintSettingArr[m_nCurrentPrintSetting].m_szPrintFontFaceHan ); Combo_SetCurSel( hwndCtrl, nIdx1 ); /* フォント一覧 */ hwndCtrl = GetItemHwnd( IDC_COMBO_FONT_ZEN ); nIdx1 = Combo_FindStringExact( hwndCtrl, 0, m_PrintSettingArr[m_nCurrentPrintSetting].m_szPrintFontFaceZen ); Combo_SetCurSel( hwndCtrl, nIdx1 ); ::SetDlgItemInt( GetHwnd(), IDC_EDIT_FONTHEIGHT, m_PrintSettingArr[m_nCurrentPrintSetting].m_nPrintFontHeight, FALSE ); ::SetDlgItemInt( GetHwnd(), IDC_EDIT_LINESPACE, m_PrintSettingArr[m_nCurrentPrintSetting].m_nPrintLineSpacing, FALSE ); ::SetDlgItemInt( GetHwnd(), IDC_EDIT_DANSUU, m_PrintSettingArr[m_nCurrentPrintSetting].m_nPrintDansuu, FALSE ); ::SetDlgItemInt( GetHwnd(), IDC_EDIT_DANSPACE, m_PrintSettingArr[m_nCurrentPrintSetting].m_nPrintDanSpace / 10, FALSE ); /* 用紙サイズ一覧 */ hwndCtrl = GetItemHwnd( IDC_COMBO_PAPER ); nItemNum = Combo_GetCount( hwndCtrl ); for( i = 0; i < nItemNum; ++i ){ nItemData = Combo_GetItemData( hwndCtrl, i ); if( m_PrintSettingArr[m_nCurrentPrintSetting].m_nPrintPaperSize == nItemData ){ Combo_SetCurSel( hwndCtrl, i ); break; } } // 用紙の向き // 2006.08.14 Moca 用紙方向コンボボックスを廃止し、ボタンを有効化 bool bIsPortrait = ( m_PrintSettingArr[m_nCurrentPrintSetting].m_nPrintPaperOrientation == DMORIENT_PORTRAIT ); CheckDlgButtonBool( GetHwnd(), IDC_RADIO_PORTRAIT, bIsPortrait ); CheckDlgButtonBool( GetHwnd(), IDC_RADIO_LANDSCAPE, !bIsPortrait ); // 余白 ::SetDlgItemInt( GetHwnd(), IDC_EDIT_MARGINTY, m_PrintSettingArr[m_nCurrentPrintSetting].m_nPrintMarginTY / 10, FALSE ); ::SetDlgItemInt( GetHwnd(), IDC_EDIT_MARGINBY, m_PrintSettingArr[m_nCurrentPrintSetting].m_nPrintMarginBY / 10, FALSE ); ::SetDlgItemInt( GetHwnd(), IDC_EDIT_MARGINLX, m_PrintSettingArr[m_nCurrentPrintSetting].m_nPrintMarginLX / 10, FALSE ); ::SetDlgItemInt( GetHwnd(), IDC_EDIT_MARGINRX, m_PrintSettingArr[m_nCurrentPrintSetting].m_nPrintMarginRX / 10, FALSE ); // 行番号を印刷 CheckDlgButtonBool( GetHwnd(), IDC_CHECK_LINENUMBER, m_PrintSettingArr[m_nCurrentPrintSetting].m_bPrintLineNumber ); // 英文ワードラップ CheckDlgButtonBool( GetHwnd(), IDC_CHECK_WORDWRAP, m_PrintSettingArr[m_nCurrentPrintSetting].m_bPrintWordWrap ); // 行頭禁則 //@@@ 2002.04.09 MIK CheckDlgButtonBool( GetHwnd(), IDC_CHECK_PS_KINSOKUHEAD, m_PrintSettingArr[m_nCurrentPrintSetting].m_bPrintKinsokuHead ); // 行末禁則 //@@@ 2002.04.09 MIK CheckDlgButtonBool( GetHwnd(), IDC_CHECK_PS_KINSOKUTAIL, m_PrintSettingArr[m_nCurrentPrintSetting].m_bPrintKinsokuTail ); // 改行文字をぶら下げる //@@@ 2002.04.13 MIK CheckDlgButtonBool( GetHwnd(), IDC_CHECK_PS_KINSOKURET, m_PrintSettingArr[m_nCurrentPrintSetting].m_bPrintKinsokuRet ); // 句読点をぶら下げる //@@@ 2002.04.17 MIK CheckDlgButtonBool( GetHwnd(), IDC_CHECK_PS_KINSOKUKUTO, m_PrintSettingArr[m_nCurrentPrintSetting].m_bPrintKinsokuKuto ); // カラー印刷 ::CheckDlgButton( GetHwnd(), IDC_CHECK_COLORPRINT, m_PrintSettingArr[m_nCurrentPrintSetting].m_bColorPrint ? BST_CHECKED : BST_UNCHECKED); /* ヘッダー */ ::DlgItem_SetText( GetHwnd(), IDC_EDIT_HEAD1, m_PrintSettingArr[m_nCurrentPrintSetting].m_szHeaderForm[POS_LEFT] ); // 100文字で制限しないと。。。 ::DlgItem_SetText( GetHwnd(), IDC_EDIT_HEAD2, m_PrintSettingArr[m_nCurrentPrintSetting].m_szHeaderForm[POS_CENTER] ); // 100文字で制限しないと。。。 ::DlgItem_SetText( GetHwnd(), IDC_EDIT_HEAD3, m_PrintSettingArr[m_nCurrentPrintSetting].m_szHeaderForm[POS_RIGHT] ); // 100文字で制限しないと。。。 /* フッター */ ::DlgItem_SetText( GetHwnd(), IDC_EDIT_FOOT1, m_PrintSettingArr[m_nCurrentPrintSetting].m_szFooterForm[POS_LEFT] ); // 100文字で制限しないと。。。 ::DlgItem_SetText( GetHwnd(), IDC_EDIT_FOOT2, m_PrintSettingArr[m_nCurrentPrintSetting].m_szFooterForm[POS_CENTER] ); // 100文字で制限しないと。。。 ::DlgItem_SetText( GetHwnd(), IDC_EDIT_FOOT3, m_PrintSettingArr[m_nCurrentPrintSetting].m_szFooterForm[POS_RIGHT] ); // 100文字で制限しないと。。。 // ヘッダフォント SetFontName( IDC_STATIC_FONT_HEAD, IDC_CHECK_USE_FONT_HEAD, m_PrintSettingArr[m_nCurrentPrintSetting].m_lfHeader, m_PrintSettingArr[m_nCurrentPrintSetting].m_nHeaderPointSize ); // フッタフォント SetFontName( IDC_STATIC_FONT_FOOT, IDC_CHECK_USE_FONT_FOOT, m_PrintSettingArr[m_nCurrentPrintSetting].m_lfFooter, m_PrintSettingArr[m_nCurrentPrintSetting].m_nFooterPointSize ); UpdatePrintableLineAndColumn(); return; }