/* ダイアログのメッセージ処理 */ INT_PTR CDlgInput1::DispatchEvent( HWND hwndDlg, // handle to dialog box UINT uMsg, // message WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ) { WORD wNotifyCode; WORD wID; // int nRet; switch( uMsg ){ case WM_INITDIALOG: /* ダイアログデータの設定 */ // Modified by KEITA for WIN64 2003.9.6 ::SetWindowLongPtr( hwndDlg, DWLP_USER, lParam ); ::SetWindowText( hwndDlg, m_pszTitle ); /* ダイアログタイトル */ EditCtl_LimitText( ::GetDlgItem( hwndDlg, IDC_EDIT_INPUT1 ), m_nMaxTextLen ); /* 入力サイズ上限 */ DlgItem_SetText( hwndDlg, IDC_EDIT_INPUT1, m_cmemText.GetStringPtr() ); /* テキスト */ ::SetWindowText( ::GetDlgItem( hwndDlg, IDC_STATIC_MSG ), m_pszMessage ); /* メッセージ */ return TRUE; case WM_COMMAND: wNotifyCode = HIWORD(wParam); /* 通知コード */ wID = LOWORD(wParam); /* 項目ID、 コントロールID、 またはアクセラレータID */ switch( wNotifyCode ){ /* ボタン/チェックボックスがクリックされた */ case BN_CLICKED: switch( wID ){ case IDOK: m_cmemText.AllocStringBuffer( ::GetWindowTextLength( ::GetDlgItem( hwndDlg, IDC_EDIT_INPUT1 ) ) ); ::GetWindowText( ::GetDlgItem( hwndDlg, IDC_EDIT_INPUT1 ), m_cmemText.GetStringPtr(), m_nMaxTextLen + 1 ); /* テキスト */ ::EndDialog( hwndDlg, TRUE ); return TRUE; case IDCANCEL: ::EndDialog( hwndDlg, FALSE ); return TRUE; } break; //@@@ 2002.01.07 add } break; //@@@ 2002.01.07 add //@@@ 2002.01.07 add start case WM_HELP: { HELPINFO *p = (HELPINFO *)lParam; MyWinHelp( (HWND)p->hItemHandle, HELP_WM_HELP, (ULONG_PTR)(LPVOID)p_helpids ); // 2006.10.10 ryoji MyWinHelpに変更に変更 } return TRUE; //Context Menu case WM_CONTEXTMENU: MyWinHelp( hwndDlg, HELP_CONTEXTMENU, (ULONG_PTR)(LPVOID)p_helpids ); // 2006.10.10 ryoji MyWinHelpに変更に変更 return TRUE; //@@@ 2002.01.07 add end } return FALSE; }
/* ダイアログデータの設定 */ 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); }
/* メッセージ処理 */ INT_PTR CPropBackup::DispatchEvent( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) { WORD wNotifyCode; WORD wID; NMHDR* pNMHDR; NM_UPDOWN* pMNUD; int idCtrl; // int nVal; int nVal; //Sept.21, 2000 JEPRO スピン要素を加えたので復活させた // int nDummy; // int nCharChars; switch( uMsg ){ case WM_INITDIALOG: /* ダイアログデータの設定 Backup */ SetData( hwndDlg ); // Modified by KEITA for WIN64 2003.9.6 ::SetWindowLongPtr( hwndDlg, DWLP_USER, lParam ); /* ユーザーがエディット コントロールに入力できるテキストの長さを制限する */ // Oct. 5, 2002 genta バックアップフォルダ名の入力サイズを指定 // Oct. 8, 2002 genta 最後に付加される\の領域を残すためバッファサイズ-1しか入力させない EditCtl_LimitText( ::GetDlgItem( hwndDlg, IDC_EDIT_BACKUPFOLDER ), _countof2(m_Common.m_sBackup.m_szBackUpFolder) - 1 - 1 ); // 20051107 aroka EditCtl_LimitText( ::GetDlgItem( hwndDlg, IDC_EDIT_BACKUPFILE ), _countof2(m_Common.m_sBackup.m_szBackUpPathAdvanced) - 1 - 1 ); return TRUE; case WM_NOTIFY: idCtrl = (int)wParam; pNMHDR = (NMHDR*)lParam; pMNUD = (NM_UPDOWN*)lParam; switch( idCtrl ){ default: switch( pNMHDR->code ){ case PSN_HELP: OnHelp( hwndDlg, IDD_PROP_BACKUP ); return TRUE; case PSN_KILLACTIVE: /* ダイアログデータの取得 Backup */ GetData( hwndDlg ); return TRUE; //@@@ 2002.01.03 YAZAKI 最後に表示していたシートを正しく覚えていないバグ修正 case PSN_SETACTIVE: m_nPageNum = ID_PROPCOM_PAGENUM_BACKUP; return TRUE; } break; case IDC_SPIN_BACKUP_GENS: /* バックアップファイルの世代数 */ nVal = ::GetDlgItemInt( hwndDlg, IDC_EDIT_BACKUP_3, NULL, FALSE ); if( pMNUD->iDelta < 0 ){ ++nVal; }else if( pMNUD->iDelta > 0 ){ --nVal; } if( nVal < 1 ){ nVal = 1; } if( nVal > 99 ){ nVal = 99; } ::SetDlgItemInt( hwndDlg, IDC_EDIT_BACKUP_3, nVal, FALSE ); return TRUE; } //**** To Here Sept. 21, 2000 JEPRO ダイアログ要素にスピンを入れるので以下のWM_NOTIFYをコメントアウトにし下に修正を置いた break; case WM_COMMAND: wNotifyCode = HIWORD(wParam); /* 通知コード */ wID = LOWORD(wParam); /* 項目ID、 コントロールID、 またはアクセラレータID */ switch( wNotifyCode ){ /* ボタン/チェックボックスがクリックされた */ case BN_CLICKED: switch( wID ){ case IDC_RADIO_BACKUP_TYPE1: // Aug. 16, 2000 genta // バックアップ方式追加 case IDC_RADIO_BACKUP_TYPE3: case IDC_CHECK_BACKUP: case IDC_CHECK_BACKUPFOLDER: // Aug. 21, 2000 genta case IDC_CHECK_AUTOSAVE: // Jun. 5, 2004 genta IDC_RADIO_BACKUP_TYPE2を廃止して, // IDC_RADIO_BACKUP_DATETYPE1, IDC_RADIO_BACKUP_DATETYPE2を同列に持ってきた case IDC_RADIO_BACKUP_DATETYPE1: case IDC_RADIO_BACKUP_DATETYPE2: // 20051107 aroka case IDC_CHECK_BACKUP_ADVANCED: GetData( hwndDlg ); UpdateBackupFile( hwndDlg ); EnableBackupInput(hwndDlg); return TRUE; case IDC_BUTTON_BACKUP_FOLDER_REF: /* フォルダ参照 */ { /* バックアップを作成するフォルダ */ TCHAR szFolder[_MAX_PATH]; ::DlgItem_GetText( hwndDlg, IDC_EDIT_BACKUPFOLDER, szFolder, _countof( szFolder )); if( SelectDir( hwndDlg, LS(STR_PROPCOMBK_SEL_FOLDER), szFolder, szFolder ) ){ _tcscpy( m_Common.m_sBackup.m_szBackUpFolder, szFolder ); ::DlgItem_SetText( hwndDlg, IDC_EDIT_BACKUPFOLDER, m_Common.m_sBackup.m_szBackUpFolder ); } UpdateBackupFile( hwndDlg ); } return TRUE; default: // 20051107 aroka Default節 追加 GetData( hwndDlg ); UpdateBackupFile( hwndDlg ); } break; /* BN_CLICKED */ case EN_CHANGE: // 20051107 aroka フォルダが変更されたらリアルタイムにエディットボックス内を更新 switch( wID ){ case IDC_EDIT_BACKUPFOLDER: // 2009.02.21 ryoji 後ろに\が追加されるので,1文字余裕をみる必要がある. ::DlgItem_GetText( hwndDlg, IDC_EDIT_BACKUPFOLDER, m_Common.m_sBackup.m_szBackUpFolder, _countof2(m_Common.m_sBackup.m_szBackUpFolder) - 1 ); UpdateBackupFile( hwndDlg ); break; } break; /* EN_CHANGE */ } break; /* WM_COMMAND */ //@@@ 2001.02.04 Start by MIK: Popup Help case WM_HELP: { HELPINFO *p = (HELPINFO *)lParam; MyWinHelp( (HWND)p->hItemHandle, HELP_WM_HELP, (ULONG_PTR)(LPVOID)p_helpids ); // 2006.10.10 ryoji MyWinHelpに変更に変更 } return TRUE; /*NOTREACHED*/ //break; //@@@ 2001.02.04 End //@@@ 2001.12.22 Start by MIK: Context Menu Help //Context Menu case WM_CONTEXTMENU: MyWinHelp( hwndDlg, HELP_CONTEXTMENU, (ULONG_PTR)(LPVOID)p_helpids ); // 2006.10.10 ryoji MyWinHelpに変更に変更 return TRUE; //@@@ 2001.12.22 End } return FALSE; }
/* メッセージ処理 */ INT_PTR CPropWin::DispatchEvent( HWND hwndDlg, // handle to dialog box UINT uMsg, // message WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ) { // From Here Sept. 9, 2000 JEPRO WORD wNotifyCode; WORD wID; // To Here Sept. 9, 2000 NMHDR* pNMHDR; NM_UPDOWN* pMNUD; int idCtrl; int nVal; //Sept.21, 2000 JEPRO スピン要素を加えたので復活させた switch( uMsg ){ case WM_INITDIALOG: /* ダイアログデータの設定 Window */ SetData( hwndDlg ); // Modified by KEITA for WIN64 2003.9.6 ::SetWindowLongPtr( hwndDlg, DWLP_USER, lParam ); /* ユーザーがエディット コントロールに入力できるテキストの長さを制限する */ /* ルーラー高さ */ EditCtl_LimitText( ::GetDlgItem( hwndDlg, IDC_EDIT_nRulerHeight ), 2 ); /* ルーラーとテキストの隙間 */ EditCtl_LimitText( ::GetDlgItem( hwndDlg, IDC_EDIT_nRulerBottomSpace ), 2 ); return TRUE; case WM_NOTIFY: idCtrl = (int)wParam; pNMHDR = (NMHDR*)lParam; pMNUD = (NM_UPDOWN*)lParam; switch( idCtrl ){ default: switch( pNMHDR->code ){ case PSN_HELP: OnHelp( hwndDlg, IDD_PROP_WIN ); return TRUE; case PSN_KILLACTIVE: // MYTRACE( _T("Window PSN_KILLACTIVE\n") ); /* ダイアログデータの取得 Window */ GetData( hwndDlg ); return TRUE; //@@@ 2002.01.03 YAZAKI 最後に表示していたシートを正しく覚えていないバグ修正 case PSN_SETACTIVE: m_nPageNum = ID_PROPCOM_PAGENUM_WIN; return TRUE; } break; case IDC_SPIN_nRulerHeight: /* ルーラ−の高さ */ nVal = ::GetDlgItemInt( hwndDlg, IDC_EDIT_nRulerHeight, NULL, FALSE ); if( pMNUD->iDelta < 0 ){ ++nVal; }else if( pMNUD->iDelta > 0 ){ --nVal; } if( nVal < IDC_SPIN_nRulerHeight_MIN ){ nVal = IDC_SPIN_nRulerHeight_MIN; } if( nVal > IDC_SPIN_nRulerHeight_MAX ){ nVal = IDC_SPIN_nRulerHeight_MAX; } ::SetDlgItemInt( hwndDlg, IDC_EDIT_nRulerHeight, nVal, FALSE ); return TRUE; case IDC_SPIN_nRulerBottomSpace: /* ルーラーとテキストの隙間 */ nVal = ::GetDlgItemInt( hwndDlg, IDC_EDIT_nRulerBottomSpace, NULL, FALSE ); if( pMNUD->iDelta < 0 ){ ++nVal; }else if( pMNUD->iDelta > 0 ){ --nVal; } if( nVal < 0 ){ nVal = 0; } if( nVal > 32 ){ nVal = 32; } ::SetDlgItemInt( hwndDlg, IDC_EDIT_nRulerBottomSpace, nVal, FALSE ); return TRUE; case IDC_SPIN_nLineNumberRightSpace: /* ルーラーとテキストの隙間 */ nVal = ::GetDlgItemInt( hwndDlg, IDC_EDIT_nLineNumberRightSpace, NULL, FALSE ); if( pMNUD->iDelta < 0 ){ ++nVal; }else if( pMNUD->iDelta > 0 ){ --nVal; } if( nVal < 0 ){ nVal = 0; } if( nVal > 32 ){ nVal = 32; } ::SetDlgItemInt( hwndDlg, IDC_EDIT_nLineNumberRightSpace, nVal, FALSE ); return TRUE; case IDC_SPIN_FUNCKEYWND_GROUPNUM: nVal = ::GetDlgItemInt( hwndDlg, IDC_EDIT_FUNCKEYWND_GROUPNUM, NULL, FALSE ); if( pMNUD->iDelta < 0 ){ ++nVal; }else if( pMNUD->iDelta > 0 ){ --nVal; } if( nVal < 1 ){ nVal = 1; } if( nVal > 12 ){ nVal = 12; } ::SetDlgItemInt( hwndDlg, IDC_EDIT_FUNCKEYWND_GROUPNUM, nVal, FALSE ); return TRUE; } break; //**** To Here Sept. 21, 2000 // From Here Sept. 9, 2000 JEPRO case WM_COMMAND: wNotifyCode = HIWORD(wParam); /* 通知コード */ wID = LOWORD(wParam); /* 項目ID、 コントロールID、 またはアクセラレータID */ switch( wNotifyCode ){ /* ボタン/チェックボックスがクリックされた */ case BN_CLICKED: switch( wID ){ // ファンクションキーを表示する時だけその位置指定をEnableに設定 case IDC_CHECK_DispFUNCKEYWND: EnableWinPropInput( hwndDlg ); break; // From Here 2004.05.13 Moca 「位置と大きさの設定」ボタン // ウィンドウ設定ダイアログにて起動時のウィンドウ状態指定 case IDC_BUTTON_WINSIZE: { CDlgWinSize cDlgWinSize; RECT rc; rc.right = m_Common.m_sWindow.m_nWinSizeCX; rc.bottom = m_Common.m_sWindow.m_nWinSizeCY; rc.top = m_Common.m_sWindow.m_nWinPosX; rc.left = m_Common.m_sWindow.m_nWinPosY; cDlgWinSize.DoModal( ::GetModuleHandle(NULL), hwndDlg, m_Common.m_sWindow.m_eSaveWindowSize, m_Common.m_sWindow.m_eSaveWindowPos, m_Common.m_sWindow.m_nWinSizeType, rc ); m_Common.m_sWindow.m_nWinSizeCX = rc.right; m_Common.m_sWindow.m_nWinSizeCY = rc.bottom; m_Common.m_sWindow.m_nWinPosX = rc.top; m_Common.m_sWindow.m_nWinPosY = rc.left; } break; // To Here 2004.05.13 Moca } break; } break; // To Here Sept. 9, 2000 //@@@ 2001.02.04 Start by MIK: Popup Help case WM_HELP: { HELPINFO *p = (HELPINFO *)lParam; MyWinHelp( (HWND)p->hItemHandle, HELP_WM_HELP, (ULONG_PTR)(LPVOID)p_helpids ); // 2006.10.10 ryoji MyWinHelpに変更に変更 } return TRUE; /*NOTREACHED*/ //break; //@@@ 2001.02.04 End //@@@ 2001.12.22 Start by MIK: Context Menu Help //Context Menu case WM_CONTEXTMENU: MyWinHelp( hwndDlg, HELP_CONTEXTMENU, (ULONG_PTR)(LPVOID)p_helpids ); // 2006.10.10 ryoji MyWinHelpに変更に変更 return TRUE; //@@@ 2001.12.22 End } return FALSE; }
/* ダイアログデータの設定 */ void CPropWin::SetData( HWND hwndDlg ) { // BOOL bRet; /* 次回ウィンドウを開いたときツールバーを表示する */ ::CheckDlgButton( hwndDlg, IDC_CHECK_DispTOOLBAR, m_Common.m_sWindow.m_bDispTOOLBAR ); /* 次回ウィンドウを開いたときファンクションキーを表示する */ ::CheckDlgButton( hwndDlg, IDC_CHECK_DispFUNCKEYWND, m_Common.m_sWindow.m_bDispFUNCKEYWND ); /* ファンクションキー表示位置/0:上 1:下 */ if( 0 == m_Common.m_sWindow.m_nFUNCKEYWND_Place ){ ::CheckDlgButton( hwndDlg, IDC_RADIO_FUNCKEYWND_PLACE1, TRUE ); ::CheckDlgButton( hwndDlg, IDC_RADIO_FUNCKEYWND_PLACE2, FALSE ); }else{ ::CheckDlgButton( hwndDlg, IDC_RADIO_FUNCKEYWND_PLACE1, FALSE ); ::CheckDlgButton( hwndDlg, IDC_RADIO_FUNCKEYWND_PLACE2, TRUE ); } // 2002/11/04 Moca ファンクションキーのグループボタン数 ::SetDlgItemInt( hwndDlg, IDC_EDIT_FUNCKEYWND_GROUPNUM, m_Common.m_sWindow.m_nFUNCKEYWND_GroupNum, FALSE ); //From Here@@@ 2003.06.13 MIK // Feb. 12, 2007 genta TAB関連は「タブバー」シートへ移動 //To Here@@@ 2003.06.13 MIK // Feb. 11, 2007 genta TAB関連は「タブバー」シートへ移動 /* 次回ウィンドウを開いたときステータスバーを表示する */ ::CheckDlgButton( hwndDlg, IDC_CHECK_DispSTATUSBAR, m_Common.m_sWindow.m_bDispSTATUSBAR ); /* ルーラー高さ */ ::SetDlgItemInt( hwndDlg, IDC_EDIT_nRulerHeight, m_Common.m_sWindow.m_nRulerHeight, FALSE ); /* ルーラーとテキストの隙間 */ ::SetDlgItemInt( hwndDlg, IDC_EDIT_nRulerBottomSpace, m_Common.m_sWindow.m_nRulerBottomSpace, FALSE ); // Sep. 18. 2002 genta 行番号とテキストの隙間 ::SetDlgItemInt( hwndDlg, IDC_EDIT_nLineNumberRightSpace, m_Common.m_sWindow.m_nLineNumRightSpace, FALSE ); /* ルーラーのタイプ */// del 2008/7/4 Uchi // if( 0 == m_Common.m_sWindow.m_nRulerType ){ // ::CheckDlgButton( hwndDlg, IDC_RADIO_nRulerType_0, TRUE ); // ::CheckDlgButton( hwndDlg, IDC_RADIO_nRulerType_1, FALSE ); // }else{ // ::CheckDlgButton( hwndDlg, IDC_RADIO_nRulerType_0, FALSE ); // ::CheckDlgButton( hwndDlg, IDC_RADIO_nRulerType_1, TRUE ); // } /* 水平スクロールバー */ ::CheckDlgButton( hwndDlg, IDC_CHECK_bScrollBarHorz, m_Common.m_sWindow.m_bScrollBarHorz ); /* アイコン付きメニュー */ ::CheckDlgButton( hwndDlg, IDC_CHECK_bMenuIcon, m_Common.m_sWindow.m_bMenuIcon ); // 2001/06/20 Start by asa-o: スクロールの同期 ::CheckDlgButton( hwndDlg, IDC_CHECK_SplitterWndVScroll, m_Common.m_sWindow.m_bSplitterWndVScroll ); ::CheckDlgButton( hwndDlg, IDC_CHECK_SplitterWndHScroll, m_Common.m_sWindow.m_bSplitterWndHScroll ); // 2001/06/20 End // Apr. 05, 2003 genta ウィンドウキャプションのカスタマイズ EditCtl_LimitText( ::GetDlgItem( hwndDlg, IDC_WINCAPTION_ACTIVE ), _countof( m_Common.m_sWindow.m_szWindowCaptionActive ) - 1 ); //@@@ 2003.06.13 MIK EditCtl_LimitText( ::GetDlgItem( hwndDlg, IDC_WINCAPTION_INACTIVE ), _countof( m_Common.m_sWindow.m_szWindowCaptionInactive ) - 1 ); //@@@ 2003.06.13 MIK ::DlgItem_SetText( hwndDlg, IDC_WINCAPTION_ACTIVE, m_Common.m_sWindow.m_szWindowCaptionActive ); ::DlgItem_SetText( hwndDlg, IDC_WINCAPTION_INACTIVE, m_Common.m_sWindow.m_szWindowCaptionInactive ); // Fronm Here Sept. 9, 2000 JEPRO // ファンクションキーを表示する時だけその位置指定をEnableに設定 EnableWinPropInput( hwndDlg ); // To Here Sept. 9, 2000 // 言語選択 HWND hwndCombo = ::GetDlgItem( hwndDlg, IDC_COMBO_LANGUAGE ); Combo_ResetContent( hwndCombo ); int nSelPos = 0; UINT uiIndex = 0; for( uiIndex = 0; uiIndex < CSelectLang::m_psLangInfoList.size(); uiIndex++ ){ CSelectLang::SSelLangInfo* psLangInfo = CSelectLang::m_psLangInfoList.at( uiIndex ); Combo_InsertString( hwndCombo, uiIndex, psLangInfo->szLangName ); if ( _tcscmp( m_Common.m_sWindow.m_szLanguageDll, psLangInfo->szDllName ) == 0 ) { nSelPos = uiIndex; } } Combo_SetCurSel( hwndCombo, nSelPos ); return; }
/* Format メッセージ処理 */ INT_PTR CPropFormat::DispatchEvent( HWND hwndDlg, // handle to dialog box UINT uMsg, // message WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ) { WORD wNotifyCode; WORD wID; NMHDR* pNMHDR; // NM_UPDOWN* pMNUD; // int idCtrl; // int nVal; switch( uMsg ){ case WM_INITDIALOG: /* ダイアログデータの設定 Format */ SetData( hwndDlg ); // Modified by KEITA for WIN64 2003.9.6 ::SetWindowLongPtr( hwndDlg, DWLP_USER, lParam ); ChangeDateExample( hwndDlg ); ChangeTimeExample( hwndDlg ); /* 見出し記号 */ EditCtl_LimitText( ::GetDlgItem( hwndDlg, IDC_EDIT_MIDASHIKIGOU ), _countof(m_Common.m_sFormat.m_szMidashiKigou) - 1 ); /* 引用符 */ EditCtl_LimitText( ::GetDlgItem( hwndDlg, IDC_EDIT_INYOUKIGOU ), _countof(m_Common.m_sFormat.m_szInyouKigou) - 1 ); /* 日付書式 */ EditCtl_LimitText( ::GetDlgItem( hwndDlg, IDC_EDIT_DFORM ), _countof(m_Common.m_sFormat.m_szDateFormat) - 1 ); /* 時刻書式 */ EditCtl_LimitText( ::GetDlgItem( hwndDlg, IDC_EDIT_TFORM ), _countof(m_Common.m_sFormat.m_szTimeFormat) - 1 ); return TRUE; case WM_COMMAND: wNotifyCode = HIWORD(wParam); /* 通知コード */ wID = LOWORD(wParam); /* 項目ID、 コントロールID、 またはアクセラレータID */ switch( wNotifyCode ){ case EN_CHANGE: if( IDC_EDIT_DFORM == wID ){ ChangeDateExample( hwndDlg ); return 0; } if( IDC_EDIT_TFORM == wID ){ ChangeTimeExample( hwndDlg ); return 0; } break; /* ボタン/チェックボックスがクリックされた */ case BN_CLICKED: switch( wID ){ case IDC_RADIO_DFORM_0: case IDC_RADIO_DFORM_1: ChangeDateExample( hwndDlg ); // From Here Sept. 10, 2000 JEPRO // 日付書式 0=標準 1=カスタム // 日付書式をカスタムにするときだけ書式指定文字入力をEnableに設定 EnableFormatPropInput( hwndDlg ); // To Here Sept. 10, 2000 return 0; case IDC_RADIO_TFORM_0: case IDC_RADIO_TFORM_1: ChangeTimeExample( hwndDlg ); // From Here Sept. 10, 2000 JEPRO // 時刻書式 0=標準 1=カスタム // 時刻書式をカスタムにするときだけ書式指定文字入力をEnableに設定 EnableFormatPropInput( hwndDlg ); // To Here Sept. 10, 2000 return 0; } break; /* BN_CLICKED */ } break; /* WM_COMMAND */ case WM_NOTIFY: // idCtrl = (int)wParam; pNMHDR = (NMHDR*)lParam; // pMNUD = (NM_UPDOWN*)lParam; // switch( idCtrl ){ // case ???????: // return 0L; // default: switch( pNMHDR->code ){ case PSN_HELP: OnHelp( hwndDlg, IDD_PROP_FORMAT ); return TRUE; case PSN_KILLACTIVE: // MYTRACE( _T("Format PSN_KILLACTIVE\n") ); /* ダイアログデータの取得 Format */ GetData( hwndDlg ); return TRUE; //@@@ 2002.01.03 YAZAKI 最後に表示していたシートを正しく覚えていないバグ修正 case PSN_SETACTIVE: m_nPageNum = ID_PROPCOM_PAGENUM_FORMAT; return TRUE; } // break; /* default */ // } // MYTRACE( _T("pNMHDR->hwndFrom=%xh\n"), pNMHDR->hwndFrom ); // MYTRACE( _T("pNMHDR->idFrom =%xh\n"), pNMHDR->idFrom ); // MYTRACE( _T("pNMHDR->code =%xh\n"), pNMHDR->code ); // MYTRACE( _T("pMNUD->iPos =%d\n"), pMNUD->iPos ); // MYTRACE( _T("pMNUD->iDelta =%d\n"), pMNUD->iDelta ); break; /* WM_NOTIFY */ //@@@ 2001.02.04 Start by MIK: Popup Help case WM_HELP: { HELPINFO *p = (HELPINFO *)lParam; MyWinHelp( (HWND)p->hItemHandle, HELP_WM_HELP, (ULONG_PTR)(LPVOID)p_helpids ); // 2006.10.10 ryoji MyWinHelpに変更に変更 } return TRUE; /*NOTREACHED*/ break; //@@@ 2001.02.04 End //@@@ 2001.12.22 Start by MIK: Context Menu Help //Context Menu case WM_CONTEXTMENU: MyWinHelp( hwndDlg, HELP_CONTEXTMENU, (ULONG_PTR)(LPVOID)p_helpids ); // 2006.10.10 ryoji MyWinHelpに変更に変更 return TRUE; //@@@ 2001.12.22 End } return FALSE; }