📄 mpichconfigdlg.cpp
字号:
// MPICHConfigDlg.cpp : implementation file//#include "stdafx.h"#include "MPIConfig.h"#include "MPICHConfigDlg.h"#include "FindHostsDlg.h"#include "qvs.h"#include "mpd.h"#include "mpdutil.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif#define USER_MSG_DISABLE WM_USER + 1#define USER_MSG_ENABLE WM_USER + 2#define USER_MSG_NUM_STEPS WM_USER + 3#define USER_MSG_STEPIT WM_USER + 4#define USER_MSG_GETHOST WM_USER + 5/////////////////////////////////////////////////////////////////////////////// CMPICHConfigDlg dialogCMPICHConfigDlg::CMPICHConfigDlg(CWnd* pParent /*=NULL*/) : CDialog(CMPICHConfigDlg::IDD, pParent){ //{{AFX_DATA_INIT(CMPICHConfigDlg) m_add_hostname = _T(""); m_color_no = FALSE; m_color_yes = TRUE; m_bdots = FALSE; m_bcolor = FALSE; m_dots_no = FALSE; m_dots_yes = TRUE; m_host_color_no = FALSE; m_bhost_color = FALSE; m_host_color_yes = TRUE; m_bhost_dots = FALSE; m_host_dots_no = FALSE; m_host_dots_yes = TRUE; m_bhost_hosts = FALSE; m_host_hosts = _T(""); m_host_jobhost = _T(""); m_host_jobhost_no = TRUE; m_host_jobhost_pwd = _T(MPD_DEFAULT_PASSPHRASE); m_host_jobhost_yes = FALSE; m_bhost_launch = FALSE; m_host_launch = 10; m_bhost_mapping = FALSE; m_host_mapping_no = FALSE; m_host_mapping_yes = TRUE; m_bhost_popup_debug = FALSE; m_host_popup_debug_no = FALSE; m_host_popup_debug_yes = TRUE; m_config_host = _T(""); m_bhost_use_jobhost = FALSE; m_bhost_use_jobhost_pwd = FALSE; m_bhosts = TRUE; m_hosts = _T(""); m_jobhost = _T(""); m_jobhost_no = TRUE; m_jobhost_pwd = _T(MPD_DEFAULT_PASSPHRASE); m_jobhost_yes = FALSE; m_blaunch = FALSE; m_launch = 10; m_bmapping = FALSE; m_mapping_no = FALSE; m_mapping_yes = TRUE; m_mpd_phrase = _T(""); m_nofm = _T(""); m_bpopup_debug = FALSE; m_popup_debug_no = FALSE; m_popup_debug_yes = TRUE; m_buse_jobhost = FALSE; m_buse_jobhost_pwd = FALSE; m_bshow_config = FALSE; m_config_host_msg = _T(""); m_bcatch = FALSE; m_catch_no = TRUE; m_catch_yes = FALSE; m_bhost_catch = FALSE; m_host_catch_no = TRUE; m_host_catch_yes = FALSE; m_bcodes = FALSE; m_codes_no = TRUE; m_codes_yes = FALSE; m_bhost_codes = FALSE; m_host_codes_no = TRUE; m_host_codes_yes = FALSE; m_blogfile = FALSE; m_logfile = _T(""); m_logfile_no = TRUE; m_logfile_yes = FALSE; m_bhost_logfile = FALSE; m_host_logfile = _T(""); m_host_logfile_no = TRUE; m_host_logfile_yes = FALSE; //}}AFX_DATA_INIT m_bToggle = false; m_bHostToggle = false; m_buse_default_passphrase = true; strcpy(m_pszPhrase, MPD_DEFAULT_PASSPHRASE); m_nPort = MPD_DEFAULT_PORT; m_hApplyBtnThread = NULL;}void CMPICHConfigDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CMPICHConfigDlg) DDX_Control(pDX, IDC_REDIRECT_MPD_STATIC, m_logfile_static); DDX_Control(pDX, IDC_HOST_REDIRECT_MPD_YES, m_host_logfile_yes_btn); DDX_Control(pDX, IDC_HOST_REDIRECT_MPD_NO, m_host_logfile_no_btn); DDX_Control(pDX, IDC_HOST_REDIRECT_MPD_EDIT, m_host_logfile_edit); DDX_Control(pDX, IDC_HOST_REDIRECT_MPD_CHK, m_host_logfile_chk); DDX_Control(pDX, IDC_REDIRECT_MPD_YES, m_logfile_yes_btn); DDX_Control(pDX, IDC_REDIRECT_MPD_NO, m_logfile_no_btn); DDX_Control(pDX, IDC_REDIRECT_MPD_EDIT, m_logfile_edit); DDX_Control(pDX, IDC_HOST_CODES_YES, m_host_codes_yes_btn); DDX_Control(pDX, IDC_HOST_CODES_NO, m_host_codes_no_btn); DDX_Control(pDX, IDC_HOST_CODES_CHK, m_host_codes_chk); DDX_Control(pDX, IDC_CODES_YES, m_codes_yes_btn); DDX_Control(pDX, IDC_CODES_NO, m_codes_no_btn); DDX_Control(pDX, IDC_HOST_MSG_STATIC, m_config_host_msg_static); DDX_Control(pDX, IDC_HOST_CATCH_YES, m_host_catch_yes_btn); DDX_Control(pDX, IDC_HOST_CATCH_NO, m_host_catch_no_btn); DDX_Control(pDX, IDC_HOST_CATCH_CHK, m_host_catch_chk); DDX_Control(pDX, IDC_CATCH_YES, m_catch_yes_btn); DDX_Control(pDX, IDC_CATCH_NO, m_catch_no_btn); DDX_Control(pDX, IDC_HOST_STATIC, m_config_host_static); DDX_Control(pDX, IDC_MODIFY_STATIC, m_modify_static); DDX_Control(pDX, IDC_USE_JOBHOST_PWD_CHK, m_use_jobhost_pwd_chk); DDX_Control(pDX, IDC_TOGGLE_BTN, m_toggle_btn); DDX_Control(pDX, IDC_PROGRESS, m_progress); DDX_Control(pDX, IDC_POPUP_DEBUG_YES, m_popup_debug_yes_btn); DDX_Control(pDX, IDC_POPUP_DEBUG_NO, m_popup_debug_no_btn); DDX_Control(pDX, IDC_MPD_PHRASE, m_mpd_phrase_edit); DDX_Control(pDX, IDC_MODIFY_BTN, m_modify_btn); DDX_Control(pDX, IDC_MAPPING_YES, m_mapping_yes_btn); DDX_Control(pDX, IDC_MAPPING_NO, m_mapping_no_btn); DDX_Control(pDX, IDC_LAUNCH_EDIT, m_launch_edit); DDX_Control(pDX, IDC_JOBHOST_YES, m_jobhost_yes_btn); DDX_Control(pDX, IDC_JOBHOST_STATIC, m_jobhost_static); DDX_Control(pDX, IDC_JOBHOST_PWD_EDIT, m_jobhost_pwd_edit); DDX_Control(pDX, IDC_JOBHOST_NO, m_jobhost_no_btn); DDX_Control(pDX, IDC_JOBHOST_EDIT, m_jobhost_edit); DDX_Control(pDX, IDC_HOSTS_EDIT, m_hosts_edit); DDX_Control(pDX, IDC_HOST_USE_JOBHOST_PWD_CHK, m_host_use_jobhost_pwd_chk); DDX_Control(pDX, IDC_HOST_USE_JOBHOST_CHK, m_host_use_jobhost_chk); DDX_Control(pDX, IDC_HOST_TOGGLE_BTN, m_host_toggle_btn); DDX_Control(pDX, IDC_HOST_POPUP_DEBUG_YES, m_host_popup_debug_yes_btn); DDX_Control(pDX, IDC_HOST_POPUP_DEBUG_NO, m_host_popup_debug_no_btn); DDX_Control(pDX, IDC_HOST_POPUP_DEBUG_CHK, m_host_popup_debug_chk); DDX_Control(pDX, IDC_HOST_MAPPING_YES, m_host_mapping_yes_btn); DDX_Control(pDX, IDC_HOST_MAPPING_NO, m_host_mapping_no_btn); DDX_Control(pDX, IDC_HOST_MAPPING_CHK, m_host_mapping_chk); DDX_Control(pDX, IDC_HOST_LIST, m_host_list); DDX_Control(pDX, IDC_HOST_LAUNCH_EDIT, m_host_launch_edit); DDX_Control(pDX, IDC_HOST_LAUNCH_CHK, m_host_launch_chk); DDX_Control(pDX, IDC_HOST_HOSTS_CHK, m_host_hosts_chk); DDX_Control(pDX, IDC_HOST_DOTS_CHK, m_host_dots_chk); DDX_Control(pDX, IDC_HOST_COLOR_CHK, m_host_color_chk); DDX_Control(pDX, IDC_HOST_JOBHOST_YES, m_host_jobhost_yes_btn); DDX_Control(pDX, IDC_HOST_JOBHOST_PWD_EDIT, m_host_jobhost_pwd_edit); DDX_Control(pDX, IDC_HOST_JOBHOST_NO, m_host_jobhost_no_btn); DDX_Control(pDX, IDC_HOST_JOBHOST_EDIT, m_host_jobhost_edit); DDX_Control(pDX, IDC_HOST_HOSTS_EDIT, m_host_hosts_edit); DDX_Control(pDX, IDC_HOST_DOTS_YES, m_host_dots_yes_btn); DDX_Control(pDX, IDC_HOST_DOTS_NO, m_host_dots_no_btn); DDX_Control(pDX, IDC_HOST_COLOR_YES, m_host_color_yes_btn); DDX_Control(pDX, IDC_HOST_COLOR_NO, m_host_color_no_btn); DDX_Control(pDX, IDC_DOTS_YES, m_dots_yes_btn); DDX_Control(pDX, IDC_DOTS_NO, m_dots_no_btn); DDX_Control(pDX, IDC_COLOR_YES, m_color_yes_btn); DDX_Control(pDX, IDC_COLOR_NO, m_color_no_btn); DDX_Control(pDX, IDC_APPLY_SINGLE_BTN, m_apply_single_btn); DDX_Control(pDX, IDC_APPLY_BTN, m_apply_btn); DDX_Control(pDX, IDC_ADD_BTN, m_add_btn); DDX_Text(pDX, IDC_ADD_HOSTNAME, m_add_hostname); DDX_Check(pDX, IDC_COLOR_NO, m_color_no); DDX_Check(pDX, IDC_COLOR_YES, m_color_yes); DDX_Check(pDX, IDC_DOTS_CHK, m_bdots); DDX_Check(pDX, IDC_COLOR_CHK, m_bcolor); DDX_Check(pDX, IDC_DOTS_NO, m_dots_no); DDX_Check(pDX, IDC_DOTS_YES, m_dots_yes); DDX_Check(pDX, IDC_HOST_COLOR_NO, m_host_color_no); DDX_Check(pDX, IDC_HOST_COLOR_CHK, m_bhost_color); DDX_Check(pDX, IDC_HOST_COLOR_YES, m_host_color_yes); DDX_Check(pDX, IDC_HOST_DOTS_CHK, m_bhost_dots); DDX_Check(pDX, IDC_HOST_DOTS_NO, m_host_dots_no); DDX_Check(pDX, IDC_HOST_DOTS_YES, m_host_dots_yes); DDX_Check(pDX, IDC_HOST_HOSTS_CHK, m_bhost_hosts); DDX_Text(pDX, IDC_HOST_HOSTS_EDIT, m_host_hosts); DDX_Text(pDX, IDC_HOST_JOBHOST_EDIT, m_host_jobhost); DDX_Check(pDX, IDC_HOST_JOBHOST_NO, m_host_jobhost_no); DDX_Text(pDX, IDC_HOST_JOBHOST_PWD_EDIT, m_host_jobhost_pwd); DDX_Check(pDX, IDC_HOST_JOBHOST_YES, m_host_jobhost_yes); DDX_Check(pDX, IDC_HOST_LAUNCH_CHK, m_bhost_launch); DDX_Text(pDX, IDC_HOST_LAUNCH_EDIT, m_host_launch); DDV_MinMaxInt(pDX, m_host_launch, 1, 1000); DDX_Check(pDX, IDC_HOST_MAPPING_CHK, m_bhost_mapping); DDX_Check(pDX, IDC_HOST_MAPPING_NO, m_host_mapping_no); DDX_Check(pDX, IDC_HOST_MAPPING_YES, m_host_mapping_yes); DDX_Check(pDX, IDC_HOST_POPUP_DEBUG_CHK, m_bhost_popup_debug); DDX_Check(pDX, IDC_HOST_POPUP_DEBUG_NO, m_host_popup_debug_no); DDX_Check(pDX, IDC_HOST_POPUP_DEBUG_YES, m_host_popup_debug_yes); DDX_Text(pDX, IDC_HOST_STATIC, m_config_host); DDX_Check(pDX, IDC_HOST_USE_JOBHOST_CHK, m_bhost_use_jobhost); DDX_Check(pDX, IDC_HOST_USE_JOBHOST_PWD_CHK, m_bhost_use_jobhost_pwd); DDX_Check(pDX, IDC_HOSTS_CHK, m_bhosts); DDX_Text(pDX, IDC_HOSTS_EDIT, m_hosts); DDX_Text(pDX, IDC_JOBHOST_EDIT, m_jobhost); DDX_Check(pDX, IDC_JOBHOST_NO, m_jobhost_no); DDX_Text(pDX, IDC_JOBHOST_PWD_EDIT, m_jobhost_pwd); DDX_Check(pDX, IDC_JOBHOST_YES, m_jobhost_yes); DDX_Check(pDX, IDC_LAUNCH_CHK, m_blaunch); DDX_Text(pDX, IDC_LAUNCH_EDIT, m_launch); DDV_MinMaxInt(pDX, m_launch, 1, 1000); DDX_Check(pDX, IDC_MAPPING_CHK, m_bmapping); DDX_Check(pDX, IDC_MAPPING_NO, m_mapping_no); DDX_Check(pDX, IDC_MAPPING_YES, m_mapping_yes); DDX_Text(pDX, IDC_MPD_PHRASE, m_mpd_phrase); DDX_Text(pDX, IDC_N_OF_M_STATIC, m_nofm); DDX_Check(pDX, IDC_POPUP_DEBUG_CHK, m_bpopup_debug); DDX_Check(pDX, IDC_POPUP_DEBUG_NO, m_popup_debug_no); DDX_Check(pDX, IDC_POPUP_DEBUG_YES, m_popup_debug_yes); DDX_Check(pDX, IDC_USE_JOBHOST_CHK, m_buse_jobhost); DDX_Check(pDX, IDC_USE_JOBHOST_PWD_CHK, m_buse_jobhost_pwd); DDX_Check(pDX, IDC_SHOW_CONFIG_CHK, m_bshow_config); DDX_Control(pDX, IDC_MPD_PHRASE_DEFAULT_RADIO, m_mpd_default_radio); DDX_Text(pDX, IDC_HOST_MSG_STATIC, m_config_host_msg); DDX_Check(pDX, IDC_CATCH_CHK, m_bcatch); DDX_Check(pDX, IDC_CATCH_NO, m_catch_no); DDX_Check(pDX, IDC_CATCH_YES, m_catch_yes); DDX_Check(pDX, IDC_HOST_CATCH_CHK, m_bhost_catch); DDX_Check(pDX, IDC_HOST_CATCH_NO, m_host_catch_no); DDX_Check(pDX, IDC_HOST_CATCH_YES, m_host_catch_yes); DDX_Check(pDX, IDC_CODES_CHK, m_bcodes); DDX_Check(pDX, IDC_CODES_NO, m_codes_no); DDX_Check(pDX, IDC_CODES_YES, m_codes_yes); DDX_Check(pDX, IDC_HOST_CODES_CHK, m_bhost_codes); DDX_Check(pDX, IDC_HOST_CODES_NO, m_host_codes_no); DDX_Check(pDX, IDC_HOST_CODES_YES, m_host_codes_yes); DDX_Check(pDX, IDC_REDIRECT_MPD_CHK, m_blogfile); DDX_Text(pDX, IDC_REDIRECT_MPD_EDIT, m_logfile); DDX_Check(pDX, IDC_REDIRECT_MPD_NO, m_logfile_no); DDX_Check(pDX, IDC_REDIRECT_MPD_YES, m_logfile_yes); DDX_Check(pDX, IDC_HOST_REDIRECT_MPD_CHK, m_bhost_logfile); DDX_Text(pDX, IDC_HOST_REDIRECT_MPD_EDIT, m_host_logfile); DDX_Check(pDX, IDC_HOST_REDIRECT_MPD_NO, m_host_logfile_no); DDX_Check(pDX, IDC_HOST_REDIRECT_MPD_YES, m_host_logfile_yes); //}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CMPICHConfigDlg, CDialog) //{{AFX_MSG_MAP(CMPICHConfigDlg) ON_BN_CLICKED(IDC_ADD_BTN, OnAddBtn) ON_BN_CLICKED(IDC_SELECT_BTN, OnSelectBtn) ON_BN_CLICKED(IDC_MPD_PHRASE_RADIO, OnMpdPhraseRadio) ON_BN_CLICKED(IDC_MPD_PHRASE_DEFAULT_RADIO, OnMpdPhraseDefaultRadio) ON_BN_CLICKED(IDC_TOGGLE_BTN, OnToggleBtn) ON_BN_CLICKED(IDC_HOSTS_CHK, OnHostsChk) ON_BN_CLICKED(IDC_LAUNCH_CHK, OnLaunchChk) ON_BN_CLICKED(IDC_USE_JOBHOST_CHK, OnUseJobhostChk) ON_BN_CLICKED(IDC_JOBHOST_YES, OnJobhostYes) ON_BN_CLICKED(IDC_JOBHOST_NO, OnJobhostNo) ON_BN_CLICKED(IDC_USE_JOBHOST_PWD_CHK, OnUseJobhostPwdChk) ON_BN_CLICKED(IDC_COLOR_CHK, OnColorChk) ON_BN_CLICKED(IDC_COLOR_YES, OnColorYes) ON_BN_CLICKED(IDC_COLOR_NO, OnColorNo) ON_BN_CLICKED(IDC_DOTS_CHK, OnDotsChk) ON_BN_CLICKED(IDC_DOTS_YES, OnDotsYes) ON_BN_CLICKED(IDC_DOTS_NO, OnDotsNo) ON_BN_CLICKED(IDC_MAPPING_CHK, OnMappingChk) ON_BN_CLICKED(IDC_MAPPING_YES, OnMappingYes) ON_BN_CLICKED(IDC_MAPPING_NO, OnMappingNo) ON_BN_CLICKED(IDC_POPUP_DEBUG_CHK, OnPopupDebugChk) ON_BN_CLICKED(IDC_POPUP_DEBUG_YES, OnPopupDebugYes) ON_BN_CLICKED(IDC_POPUP_DEBUG_NO, OnPopupDebugNo) ON_BN_CLICKED(IDC_APPLY_BTN, OnApplyBtn) ON_BN_CLICKED(IDC_APPLY_SINGLE_BTN, OnApplySingleBtn) ON_BN_CLICKED(IDC_HOST_TOGGLE_BTN, OnHostToggleBtn) ON_BN_CLICKED(IDC_HOST_HOSTS_CHK, OnHostHostsChk) ON_BN_CLICKED(IDC_HOST_LAUNCH_CHK, OnHostLaunchChk) ON_BN_CLICKED(IDC_HOST_USE_JOBHOST_CHK, OnHostUseJobhostChk) ON_BN_CLICKED(IDC_HOST_JOBHOST_YES, OnHostJobhostYes) ON_BN_CLICKED(IDC_HOST_JOBHOST_NO, OnHostJobhostNo) ON_BN_CLICKED(IDC_HOST_USE_JOBHOST_PWD_CHK, OnHostUseJobhostPwdChk) ON_BN_CLICKED(IDC_HOST_COLOR_CHK, OnHostColorChk) ON_BN_CLICKED(IDC_HOST_COLOR_YES, OnHostColorYes) ON_BN_CLICKED(IDC_HOST_COLOR_NO, OnHostColorNo) ON_BN_CLICKED(IDC_HOST_DOTS_CHK, OnHostDotsChk) ON_BN_CLICKED(IDC_HOST_DOTS_YES, OnHostDotsYes) ON_BN_CLICKED(IDC_HOST_DOTS_NO, OnHostDotsNo) ON_BN_CLICKED(IDC_HOST_MAPPING_CHK, OnHostMappingChk) ON_BN_CLICKED(IDC_HOST_MAPPING_YES, OnHostMappingYes) ON_BN_CLICKED(IDC_HOST_MAPPING_NO, OnHostMappingNo) ON_BN_CLICKED(IDC_HOST_POPUP_DEBUG_CHK, OnHostPopupDebugChk) ON_BN_CLICKED(IDC_HOST_POPUP_DEBUG_YES, OnHostPopupDebugYes) ON_BN_CLICKED(IDC_HOST_POPUP_DEBUG_NO, OnHostPopupDebugNo) ON_BN_CLICKED(IDC_MODIFY_BTN, OnModifyBtn) ON_BN_CLICKED(IDC_SHOW_CONFIG_CHK, OnShowConfigChk) ON_NOTIFY(LVN_KEYDOWN, IDC_HOST_LIST, OnKeydownHostList) ON_WM_CLOSE() ON_NOTIFY(LVN_ITEMCHANGING, IDC_HOST_LIST, OnItemchangingHostList) ON_BN_CLICKED(IDC_HOST_CATCH_CHK, OnHostCatchChk) ON_BN_CLICKED(IDC_HOST_CATCH_YES, OnHostCatchYes) ON_BN_CLICKED(IDC_HOST_CATCH_NO, OnHostCatchNo) ON_BN_CLICKED(IDC_CATCH_CHK, OnCatchChk) ON_BN_CLICKED(IDC_CATCH_YES, OnCatchYes) ON_BN_CLICKED(IDC_CATCH_NO, OnCatchNo) ON_BN_CLICKED(IDC_HOST_CODES_YES, OnHostCodesYes) ON_BN_CLICKED(IDC_HOST_CODES_NO, OnHostCodesNo) ON_BN_CLICKED(IDC_HOST_CODES_CHK, OnHostCodesChk) ON_BN_CLICKED(IDC_CODES_CHK, OnCodesChk) ON_BN_CLICKED(IDC_CODES_YES, OnCodesYes) ON_BN_CLICKED(IDC_CODES_NO, OnCodesNo) ON_BN_CLICKED(IDC_REDIRECT_MPD_CHK, OnRedirectMpdChk) ON_BN_CLICKED(IDC_REDIRECT_MPD_NO, OnRedirectMpdNo) ON_BN_CLICKED(IDC_REDIRECT_MPD_YES, OnRedirectMpdYes) ON_BN_CLICKED(IDC_HOST_REDIRECT_MPD_CHK, OnHostRedirectMpdChk) ON_BN_CLICKED(IDC_HOST_REDIRECT_MPD_NO, OnHostRedirectMpdNo) ON_BN_CLICKED(IDC_HOST_REDIRECT_MPD_YES, OnHostRedirectMpdYes) //}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CMPICHConfigDlg message handlersvoid CMPICHConfigDlg::ParseRegistry(){ HKEY tkey; DWORD result, len; char name[100]; // Set the defaults. m_nPort = MPD_DEFAULT_PORT; len = 100; GetComputerName(name, &len); m_add_hostname = name; m_bNeedPassword = true; // Open the root key if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, MPD_REGISTRY_KEY, 0, KEY_ALL_ACCESS, &tkey) != ERROR_SUCCESS) { printf("Unable to open SOFTWARE\\MPICH\\MPD registry key, error %d\n", GetLastError()); return; } // Read the port len = sizeof(int); result = RegQueryValueEx(tkey, "port", 0, NULL, (unsigned char *)&m_nPort, &len); // Check to see if a passphrase has been set and set it to the default if necessary. len = 100; result = RegQueryValueEx(tkey, "phrase", 0, NULL, (unsigned char *)m_pszPhrase, &len); if (result == ERROR_SUCCESS) m_bNeedPassword = false; RegCloseKey(tkey);}void CMPICHConfigDlg::OnAddBtn() { UpdateData(); if (m_add_hostname.GetLength() != 0) { CString str; int n = m_host_list.GetItemCount(); if (n != LB_ERR) { bool bFound = false; for (int i=0; i<n; i++) { str = m_host_list.GetItemText(i, 0); if (str.CompareNoCase(m_add_hostname) == 0) { bFound = true; //break; } } if (!bFound) { m_host_list.InsertItem(0, m_add_hostname); GetHostsString(); UpdateData(FALSE); } } }}void CMPICHConfigDlg::OnSelectBtn() { CFindHostsDlg dlg; UpdateData(); if (dlg.DoModal() == IDOK) { QVS_Container qvs; char str[100]; m_host_list.DeleteAllItems(); qvs.decode_string((char*)(LPCTSTR)dlg.m_encoded_hosts); if (qvs.first(str, 100)) { m_host_list.InsertItem(0, str); while (qvs.next(str, 100)) { m_host_list.InsertItem(0, str); } } GetHostsString(); }}void CMPICHConfigDlg::OnMpdPhraseRadio() { m_mpd_phrase_edit.EnableWindow(); m_buse_default_passphrase = false; m_bNeedPassword = true;}void CMPICHConfigDlg::OnMpdPhraseDefaultRadio() { m_mpd_phrase_edit.EnableWindow(FALSE); m_buse_default_passphrase = true;}void CMPICHConfigDlg::OnToggleBtn() { UpdateData(); m_bToggle = !m_bToggle; m_bcolor = m_bToggle; m_bdots = m_bToggle; m_bhosts = m_bToggle; m_blaunch = m_bToggle; m_bmapping = m_bToggle; m_bpopup_debug = m_bToggle; m_buse_jobhost = m_bToggle; m_bcatch = m_bToggle; m_bcodes = m_bToggle; m_blogfile = m_bToggle; UpdateData(FALSE); OnColorChk(); OnDotsChk(); OnHostsChk(); OnLaunchChk(); OnMappingChk(); OnPopupDebugChk(); OnUseJobhostChk(); OnCatchChk(); OnCodesChk(); OnRedirectMpdChk();}void CMPICHConfigDlg::OnHostsChk() { UpdateData(); m_hosts_edit.EnableWindow(m_bhosts); UpdateApplyButtonStates();}void CMPICHConfigDlg::OnLaunchChk() { UpdateData(); m_launch_edit.EnableWindow(m_blaunch); UpdateApplyButtonStates();}void CMPICHConfigDlg::OnUseJobhostChk() { UpdateData();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -