// // 機能 : レジストリへ保存 // // 機能説明 : // // 返り値 : BOOL // // 備考 : // void CSettingPubTab::Save() { // TODO: この位置にその他の検証用のコードを追加してください CString str; UpdateData(TRUE); // DDX更新 /// BEEP音声ファイルのコピー if (!m_strBeepFile.IsEmpty()) { /// 現在のBEEP音声ファイルのバックアップ CTPsetup tps(theApp.m_strDataFolder); CString strFile = tps.RsfBeepFileName(); CString strTmpFile = tps.RsfTmpFileName(_T("wav")); CFileSpec fs(strFile); fs.FileCopy(strTmpFile, TRUE); /// BEEP音声ファイルのコピー(16KHzフォーマットへ変換) AUDIO_FORMAT fmt; fmt.nBits = 16; fmt.nChannels = 1; fmt.nFrequency = 16000; CAudio *pAudio = CAudio::Instance(); if (pAudio->ChgWaveFormat(m_strBeepFile, strFile, fmt, 1)) { str = tps.RsfBeepFileName(_T("1")); fs.FileCopy(str, TRUE); str = tps.RsfBeepFileName(_T("2")); fs.FileCopy(str, TRUE); } else { str.LoadString(IDS_MSGBOX69); AfxMessageBox(str, MB_OK | MB_APPLMODAL | MB_ICONINFORMATION); //// バックアップファイルを戻す fs.SetFullSpec(strTmpFile); if (fs.Exist()) { fs.FileCopy(strFile, TRUE); } } } // レジストリ更新 //// Startup if (m_blStartup) { // tapmgr.exeをスタートアップレジストリに登録 CFileSpec fs(FS_APPDIR); fs.SetFileName(_T("tapmgr.exe")); m_rgStartup = fs.GetFullSpec(); } else { // スタートアップレジストリを削除 m_rgStartup.removeValue(); } //// 起動時無効 m_rgDisable = (m_blDisable) ? 1 : 0; //// 待機時間 str = m_aryWaitAnswer.GetAt(m_idxWaitAnswer); m_rgWaitAnswer = (DWORD)_ttoi(str); //// 録音時間 str = m_aryMaxRecord .GetAt(m_idxMaxRecord); DWORD dw = (DWORD)_ttoi(str); dw *= 60; // min -> sec m_rgMaxRecord = dw; //// WAV or MP3 CButton *rd_mp3 = (CButton *)GetDlgItem(IDC_RDO_MP3); if (rd_mp3->GetCheck()) { m_rgFormatType = 1; } else { m_rgFormatType = 0; } //// MP3コーデック if (m_aryCodecName.GetCount() > 0) { str = m_aryCodecName.GetAt(m_idxCodecName); m_rgCodecName = str; } //// MP3フォーマット if (m_aryFormatName.GetCount() > 0) { str = m_aryFormatName.GetAt(m_idxFormatName); m_rgFormatName = str; } /* //// ショートカット m_rgShortCutTapur = (m_blShortCutTapur) ? 1 : 0; m_rgShortCutSkype = (m_blShortCutSkype) ? 1 : 0; */ }
int _tmain(int argc, TCHAR *argv[], TCHAR *envp[]) { BOOL bRet = FALSE; HDC hDC = NULL; TCHAR szText[MAX_PATH] = {0,}; if (2 > argc) return 0; #if 0 if (FAILED(CoInitializeEx(0, COINIT_MULTITHREADED))) return FALSE; #endif hDC = GetDC(HWND_DESKTOP); if (0 == _tcsnicmp(_T("SLEEP"), argv[1], _tcslen(_T("SLEEP")))) { // +++ ExtEscape(hDC, DRVESC_SYSTEM_SLEEP, 100, NULL, 0, NULL); // --- if (TRUE == RegOpenCreateStr(OMNIBOOK_REG_KEY, BMP_SLEEP_REG_STRING, szText, MAX_PATH, FALSE)) { RETAILMSG(1, (_T("SLEEP : RegOpenCreateStr(%s, %s)\r\n"), BMP_SLEEP_REG_STRING, szText)); bRet = dispShutdown(hDC, szText); } RETAILMSG(1, (_T("App_Command => SLEEP(%d)\r\n"), bRet)); } else if (0 == _tcsnicmp(_T("SHUTDOWN"), argv[1], _tcslen(_T("SHUTDOWN")))) { if (FALSE == RegOpenCreateStr(OMNIBOOK_REG_KEY, BMP_SHUTDOWN_REG_STRING, szText, MAX_PATH, FALSE)) { RETAILMSG(1, (_T("RegOpenCreateStr(%s), Default(%s)\r\n"), BMP_SHUTDOWN_REG_STRING, BMP_SHUTDOWN_REG_DEFAULT)); _tcscpy_s(szText, MAX_PATH, BMP_SHUTDOWN_REG_DEFAULT); } bRet = dispShutdown(hDC, szText); if (FALSE == bRet) dispShutdown(hDC, BMP_SHUTDOWN_REG_DEFAULT); RETAILMSG(1, (_T("App_Command => SHUTDOWN(%d)\r\n"), bRet)); } else if (0 == _tcsnicmp(_T("LOWBATTERY"), argv[1], _tcslen(_T("LOWBATTERY")))) { // +++ ExtEscape(hDC, DRVESC_SYSTEM_SLEEP, 100, NULL, 0, NULL); // --- if (FALSE == RegOpenCreateStr(OMNIBOOK_REG_KEY, BMP_LOWBATTERY_REG_STRING, szText, MAX_PATH, FALSE)) { RETAILMSG(1, (_T("RegOpenCreateStr(%s), Default(%s)\r\n"), BMP_LOWBATTERY_REG_STRING, BMP_LOWBATTERY_REG_DEFAULT)); _tcscpy_s(szText, MAX_PATH, BMP_LOWBATTERY_REG_DEFAULT); } bRet = dispShutdown(hDC, szText); if (FALSE == bRet) dispShutdown(hDC, BMP_LOWBATTERY_REG_DEFAULT); RETAILMSG(1, (_T("App_Command => LOWBATTERY(%d)\r\n"), bRet)); } else if (0 == _tcsnicmp(_T("BATCHARGING"), argv[1], _tcslen(_T("BATCHARGING")))) { if (FALSE == RegOpenCreateStr(OMNIBOOK_REG_KEY, BMP_BATCHARGING_REG_STRING, szText, MAX_PATH, FALSE)) { RETAILMSG(1, (_T("RegOpenCreateStr(%s), Default(%s)\r\n"), BMP_BATCHARGING_REG_STRING, BMP_BATCHARGING_REG_DEFAULT)); _tcscpy_s(szText, MAX_PATH, BMP_BATCHARGING_REG_DEFAULT); } bRet = dispShutdown(hDC, szText); if (FALSE == bRet) dispShutdown(hDC, BMP_BATCHARGING_REG_DEFAULT); RETAILMSG(1, (_T("App_Command => BATCHARGING(%d)\r\n"), bRet)); } else if (0 == _tcsnicmp(_T("BATCOMPLETE"), argv[1], _tcslen(_T("BATCOMPLETE")))) { if (FALSE == RegOpenCreateStr(OMNIBOOK_REG_KEY, BMP_BATCOMPLETE_REG_STRING, szText, MAX_PATH, FALSE)) { RETAILMSG(1, (_T("RegOpenCreateStr(%s), Default(%s)\r\n"), BMP_BATCOMPLETE_REG_STRING, BMP_BATCOMPLETE_REG_DEFAULT)); _tcscpy_s(szText, MAX_PATH, BMP_BATCOMPLETE_REG_DEFAULT); } bRet = dispShutdown(hDC, szText); if (FALSE == bRet) dispShutdown(hDC, BMP_BATCOMPLETE_REG_DEFAULT); RETAILMSG(1, (_T("App_Command => BATCOMPLETE(%d)\r\n"), bRet)); } else if (0 == _tcsnicmp(_T("DIRTYRECT"), argv[1], _tcslen(_T("DIRTYRECT")))) { BOOL bSet = -1; if (3 <= argc) { bSet = _ttoi(argv[2]); ExtEscape(hDC, DRVESC_SET_DIRTYRECT, bSet, NULL, 0, NULL); } RETAILMSG(1, (_T("App_Command => DIRTYRECT(%d)\r\n"), bSet)); } else if (0 == _tcsnicmp(_T("DSPUPDSTATE"), argv[1], _tcslen(_T("DSPUPDSTATE")))) { DSPUPDSTATE dus = DSPUPD_LAST; if (3 <= argc) { dus = (DSPUPDSTATE)_ttoi(argv[2]); ExtEscape(hDC, DRVESC_SET_DSPUPDSTATE, dus, NULL, 0, NULL); } RETAILMSG(1, (_T("App_Command => DSPUPDSTATE(%d)\r\n"), dus)); } else if (0 == _tcsnicmp(_T("BORDER"), argv[1], _tcslen(_T("BORDER")))) { BOOL bSet = -1; if (3 <= argc) { bSet = _ttoi(argv[2]); ExtEscape(hDC, DRVESC_SET_BORDER, bSet, NULL, 0, NULL); } RETAILMSG(1, (_T("App_Command => BORDER(%d)\r\n"), bSet)); } else if (0 == _tcsnicmp(_T("WAVEFORMMODE"), argv[1], _tcslen(_T("WAVEFORMMODE")))) { WAVEFORMMODE wfm = WAVEFORM_LAST; if (3 <= argc) { wfm = (WAVEFORMMODE)_ttoi(argv[2]); ExtEscape(hDC, DRVESC_SET_WAVEFORMMODE, wfm, NULL, 0, NULL); } RETAILMSG(1, (_T("App_Command => WAVEFORMMODE(%d)\r\n"), wfm)); } // ... ReleaseDC(HWND_DESKTOP, hDC); #if 0 CoUninitialize(); #endif return 0; }
CTime CSms::ConvertStringToTime(const CString &strTime) { int year=2016, month=5, day=1, hour=0, minite=0, second = 0; int firstp = 0, lastp = 0; // year lastp = strTime.Find(_T('-')); if (lastp < 0) { year = _ttoi(strTime); return CTime(year, month, day, hour, minite, second); } year = _ttoi(strTime.Mid(firstp, lastp - firstp)); firstp = lastp + 1; // month lastp = strTime.Find(_T('-'), firstp); if (lastp < 0) { month = _ttoi(strTime); return CTime(year, month, day, hour, minite, second); } month = _ttoi(strTime.Mid(firstp, lastp - firstp)); firstp = lastp + 1; // day lastp = strTime.Find(_T(' '), firstp); if (lastp < 0) { day = _ttoi(strTime); return CTime(year, month, day, hour, minite, second); } day = _ttoi(strTime.Mid(firstp, lastp - firstp)); firstp = lastp + 1; // hour lastp = strTime.Find(_T(':'), firstp); if (lastp < 0) { hour = _ttoi(strTime); return CTime(year, month, day, hour, minite, second); } hour = _ttoi(strTime.Mid(firstp, lastp - firstp)); firstp = lastp + 1; // minite lastp = strTime.Find(_T(':'), firstp); if (lastp < 0) { minite = _ttoi(strTime); return CTime(year, month, day, hour, minite, second); } minite = _ttoi(strTime.Mid(firstp, lastp - firstp)); firstp = lastp + 1; // second second = _ttoi(strTime.Mid(firstp)); return CTime(year, month, day, hour, minite, second); }
void CLanguageManager::LoadFromFile(ELanguageType language) { #ifdef EDITOR_MODE BEYONDENGINE_UNUSED_PARAM(language); m_languageMap.clear(); TString filePath = CResourceManager::GetInstance()->GetResourcePath(eRT_Resource); filePath.append(_T("/LanguageConfig.xml")); if (CFilePathTool::GetInstance()->Exists(filePath.c_str())) { rapidxml::file<> fdoc(filePath.c_str()); rapidxml::xml_document<> doc; try { doc.parse<rapidxml::parse_default>(fdoc.data()); doc.m_pszFilePath = filePath.c_str(); } catch (rapidxml::parse_error &e) { TCHAR info[MAX_PATH]; _stprintf(info, _T("Load file :%s Failed! error :%s"), filePath.c_str(), e.what()); MessageBox(BEYONDENGINE_HWND, info, _T("Load File Failed"), MB_OK | MB_ICONERROR); } uint32_t uCounter = 0; rapidxml::xml_node<>* pRootNode = doc.first_node("Language"); rapidxml::xml_node<>* pLanguageNode = pRootNode->first_node("LanguageNode"); while (pLanguageNode != nullptr) { uCounter++; TString strEnum = pLanguageNode->first_attribute("Enum")->value(); BEATS_ASSERT(!strEnum.empty()); if (pLanguageNode->first_attribute("Tag")) { TString strTag = pLanguageNode->first_attribute("Tag")->value(); m_languageTagMap[strEnum] = strTag; } BEATS_ASSERT(m_languageMap.find(strEnum) == m_languageMap.end()); std::map<ELanguageType, TString>& curMap = m_languageMap[strEnum]; rapidxml::xml_node<>* pLanguageValueNode = pLanguageNode->first_node(); while (pLanguageValueNode != nullptr) { TString languageTypeStr = pLanguageValueNode->name(); ELanguageType languageType = eLT_Count; for (int j = 0; j < eLT_Count; ++j) { if (pszLanguageTypeString[j] == languageTypeStr) { languageType = (ELanguageType)j; break; } } BEATS_ASSERT(curMap.find(languageType) == curMap.end()); const TCHAR* pszValue = pLanguageValueNode->first_attribute("Value")->value(); BEATS_ASSERT(_tcslen(pszValue) > 0); curMap[languageType] = pszValue; pLanguageValueNode = pLanguageValueNode->next_sibling(); } pLanguageNode = pLanguageNode->next_sibling(); } BEATS_ASSERT((uint32_t)_ttoi(pRootNode->first_attribute("Count")->value()) == uCounter); } #else TString filePath = CResourceManager::GetInstance()->GetResourcePath(eRT_Language); filePath.append(_T("/")).append(pszLanguageTypeString[language]).append(_T(".bin")); bool bFindLanguageFile = CFilePathTool::GetInstance()->Exists(filePath.c_str()); BEATS_ASSERT(bFindLanguageFile, "Can't Find language file %s", filePath.c_str()); if (bFindLanguageFile) { int count = 0; CSerializer tmp(filePath.c_str()); tmp >> count; m_texts.clear(); for (int i = 0; i < count; ++i) { ELanguageTextType textId = (ELanguageTextType)i; std::string strValue; tmp >> strValue; m_texts.emplace(textId, strValue); } tmp >> count; for (int i = 0; i < count; ++i) { uint32_t key; tmp >> key; BEATS_ASSERT(m_texts.find((ELanguageTextType)key) == m_texts.end()); tmp >> m_texts[(ELanguageTextType)key]; } } #endif }
void Unreal3DExport::WriteScript() { // Write script file { fScript = _tfopen(ScriptFileName,_T("wb")); if( !fScript ) { ProgressMsg.printf(GetString(IDS_ERR_FSCRIPT),ScriptFileName); throw MAXException(ProgressMsg.data()); } TSTR buf; // Write class def _ftprintf( fScript, _T("class %s extends Object;\n\n"), FileName ); // write import _ftprintf( fScript, _T("#exec MESH IMPORT MESH=%s ANIVFILE=%s_a.3D DATAFILE=%s_d.3D \n"), FileName, FileName, FileName ); // write origin & rotation // TODO: figure out why it's incorrect without -1 Point3 porg = OptOffset * OptScale * -1; _ftprintf( fScript, _T("#exec MESH ORIGIN MESH=%s X=%f Y=%f Z=%f PITCH=%d YAW=%d ROLL=%d \n"), FileName, porg.x, porg.y, porg.z, (int)OptRot.x, (int)OptRot.y, (int)OptRot.z ); // write mesh scale Point3 psc( Point3(1.0f/OptScale.x,1.0f/OptScale.y,1.0f/OptScale.z)); _ftprintf( fScript, _T("#exec MESH SCALE MESH=%s X=%f Y=%f Z=%f \n"), FileName, psc.x, psc.y, psc.z ); // write meshmap _ftprintf( fScript, _T("#exec MESHMAP NEW MESHMA=P%s MESH=%smap \n"), FileName, FileName ); // write meshmap scale _ftprintf( fScript, _T("#exec MESHMAP SCALE MESHMAP=%s X=%f Y=%f Z=%f \n"), FileName, psc.x, psc.y, psc.z ); // write sequence _ftprintf( fScript, _T("#exec MESH SEQUENCE MESH=%s SEQ=%s STARTFRAME=%d NUMFRAMES=%d \n"), FileName, _T("All"), 0, FrameCount-1 ); // Get World NoteTrack ReferenceTarget *rtscene = pInt->GetScenePointer(); for( int t=0; t<rtscene->NumNoteTracks(); ++t ) { DefNoteTrack* notetrack = static_cast<DefNoteTrack*>(rtscene->GetNoteTrack(t)); for( int k=0; k<notetrack->keys.Count(); ++k ) { NoteKey* notekey = notetrack->keys[k]; TSTR text = notekey->note; int notetime = notekey->time / pScene->GetSceneTicks(); while( !text.isNull() ) { TSTR cmd = SplitStr(text,_T('\n')); if( MatchPattern(cmd,TSTR(_T("a *")),TRUE) ) { SplitStr(cmd,_T(' ')); TSTR seq = SplitStr(cmd,_T(' ')); int end = _ttoi(SplitStr(cmd,_T(' ')));; TSTR rate = SplitStr(cmd,_T(' ')); TSTR group = SplitStr(cmd,_T(' ')); if( seq.isNull() ) { ProgressMsg.printf(_T("Missing animation name in notekey #%d"),notetime); throw MAXException(ProgressMsg.data()); } if( end <= notetime ) { ProgressMsg.printf(_T("Invalid animation endframe (%d) in notekey #%d"),end,notetime); throw MAXException(ProgressMsg.data()); } int startframe = notetime; int numframes = end - notetime; buf.printf( _T("#exec MESH SEQUENCE MESH=%s SEQ=%s STARTFRAME=%d NUMFRAMES=%d"), FileName, seq, notetime, numframes ); if( !rate.isNull() ) buf.printf( _T("%s RATE=%f"), buf, rate ); if( !group.isNull() ) buf.printf( _T("%s GROUP=%f"), buf, rate ); SeqName = seq; SeqFrame = startframe; buf.printf( _T("%s \n"), buf ); _fputts( buf, fScript ); } else if( MatchPattern(cmd,TSTR(_T("n *")),TRUE) ) { SplitStr(cmd,_T(' ')); TSTR func = SplitStr(cmd,_T(' ')); TSTR time = SplitStr(cmd,_T(' ')); if( func.isNull() ) { ProgressMsg.printf(_T("Missing notify name in notekey #%d"),notetime); throw MAXException(ProgressMsg.data()); } if( time.isNull() ) { ProgressMsg.printf(_T("Missing notify time in notekey #%d"),notetime); throw MAXException(ProgressMsg.data()); } buf.printf( _T("#exec MESH NOTIFY MESH=%s SEQ=%s TIME=%s FUNCTION=%s"), FileName, SeqName, time, func ); _fputts( buf, fScript ); } } } } // TODO: write materials if( Materials.Count() > 0 ) { for( int i=0; i<Materials.Count(); ++i ) { IGameMaterial* mat = Materials[i].Mat; if( mat == NULL ) continue; _ftprintf( fScript, _T("#exec MESHMAP SETTEXTURE MESHMAP=%s NUM=%d TEXTURE=%s \n"), FileName, i, _T("DefaultTexture") ); } } } }
void CSysButtonUI::SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue) { if(_tcscmp(pstrName, _T("font")) == 0) SetFont(_ttoi(pstrValue)); else __super::SetAttribute(pstrName, pstrValue); }
CDEX_ERR CRipInfoDB::GetStatusInfo( int nTrack, DWORD& dwJitterErrors ) { BOOL bFinishedProperly = FALSE; BOOL bPresentInDB = FALSE; BOOL bAborted = FALSE; CDEX_ERR result = CDEX_OK; dwJitterErrors = 0; // Open file for append m_pFile = CDexOpenFile( m_strFileName, _W( "r" ) ); if ( NULL != m_pFile ) { // Loop through all entries while( !feof( m_pFile ) ) { TCHAR lpszLine[ 1024 ] = {'\0',}; int nCurrentTrack; // Clear string memset(lpszLine,0x00,sizeof(lpszLine)); // Read the next line from the file _fgetts( lpszLine, _countof( lpszLine ), m_pFile ); // Get track number nCurrentTrack = _ttoi( &lpszLine[ 1 ] ); if ( nCurrentTrack == nTrack ) { bPresentInDB=TRUE; switch ( lpszLine[ 6 ] ) { case 'J': dwJitterErrors++ ; break; case 'A': bAborted = TRUE; break; case 'C': bFinishedProperly = TRUE; break; } } } fclose( m_pFile ); m_pFile = NULL; } if ( dwJitterErrors > 0 ) { result = CDEX_JITTER_ERROR; } else if ( bAborted ) { result = CDEX_ERROR; } else if ( bPresentInDB && bFinishedProperly ) { result = CDEX_RIPPING_DONE; } return result; }
INT_PTR CALLBACK DlgProcOtherStuff(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_INITDIALOG: TranslateDialogDefault(hwnd); { MCONTACT hContact = (MCONTACT)((PROPSHEETPAGE*)lParam)->lParam; SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)hContact); if (!hContact) break; /* link*/ DBVARIANT dbv; if (!db_get_ts(hContact, MODNAME, "ProgramString", &dbv)) { SetDlgItemText(hwnd, IDC_LINK, dbv.ptszVal); db_free(&dbv); } if (!db_get_ts(hContact, MODNAME, "ProgramParamsString", &dbv)) { SetDlgItemText(hwnd, IDC_PARAMS, dbv.ptszVal); db_free(&dbv); } /* group*/ TCHAR *szGroup; for (int i = 1; (szGroup = pcli->pfnGetGroupName(i, NULL)) != NULL; i++) SendDlgItemMessage(hwnd, IDC_GROUP, CB_INSERTSTRING, 0, LPARAM(szGroup)); if (!db_get_ts(hContact, "CList", "Group", &dbv)) { SetDlgItemText(hwnd, IDC_GROUP, dbv.ptszVal); db_free(&dbv); } /* icons */ CheckRadioButton(hwnd, 40072, 40080, db_get_w(hContact, MODNAME, "Icon", ID_STATUS_ONLINE)); SetWindowLongPtr(GetDlgItem(hwnd, CHK_ONLINE), GWLP_USERDATA, (LONG_PTR)Skin_LoadProtoIcon(MODNAME, ID_STATUS_ONLINE)); g_PrevBtnWndProc = (WNDPROC)SetWindowLongPtr(GetDlgItem(hwnd, CHK_ONLINE), GWLP_WNDPROC, (LONG_PTR)ButtWndProc); for (int i = ID_STATUS_ONLINE; i <= ID_STATUS_OUTTOLUNCH; i++) { SetWindowLongPtr(GetDlgItem(hwnd, i), GWLP_USERDATA, (LONG_PTR)Skin_LoadProtoIcon(MODNAME, i)); SetWindowLongPtr(GetDlgItem(hwnd, i), GWLP_WNDPROC, (LONG_PTR)ButtWndProc); } db_free(&dbv); /* timer */ CheckDlgButton(hwnd, CHK_USE_TIMER, db_get_b(hContact, MODNAME, "UseTimer", 0) ? BST_CHECKED : BST_UNCHECKED); if (db_get_w(hContact, MODNAME, "Timer", 15)) { CheckDlgButton(hwnd, CHK_USE_TIMER, BST_CHECKED); EnableWindow(GetDlgItem(hwnd, IDC_TIMER), 1); TCHAR string[512]; SetDlgItemText(hwnd, IDC_TIMER, _itot(db_get_w(hContact, MODNAME, "Timer", 15), string, 10)); if (!db_get_w(NULL, MODNAME, "Timer", 1)) SetDlgItemText(hwnd, IDC_TIMER_INTERVAL_MSG, TranslateT("Non-IM Contact protocol timer is Disabled")); else { mir_sntprintf(string, TranslateT("Timer intervals... Non-IM Contact Protocol timer is %d seconds"), db_get_w(NULL, MODNAME, "Timer", 1)); SetDlgItemText(hwnd, IDC_TIMER_INTERVAL_MSG, string); } } /* always visible */ if (db_get_b(hContact, MODNAME, "AlwaysVisible", 0)) { CheckDlgButton(hwnd, IDC_ALWAYS_VISIBLE, BST_CHECKED); EnableWindow(GetDlgItem(hwnd, IDC_VISIBLE_UNLESS_OFFLINE), 1); CheckDlgButton(hwnd, IDC_VISIBLE_UNLESS_OFFLINE, db_get_b(hContact, MODNAME, "VisibleUnlessOffline", 1) ? BST_CHECKED : BST_UNCHECKED); } } return TRUE; case WM_COMMAND: SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0); switch (LOWORD(wParam)) { case IDC_ALWAYS_VISIBLE: if (IsDlgButtonChecked(hwnd, IDC_ALWAYS_VISIBLE)) { MCONTACT hContact = (MCONTACT)GetWindowLongPtr(hwnd, GWLP_USERDATA); EnableWindow(GetDlgItem(hwnd, IDC_VISIBLE_UNLESS_OFFLINE), 1); CheckDlgButton(hwnd, IDC_VISIBLE_UNLESS_OFFLINE, db_get_b(hContact, MODNAME, "VisibleUnlessOffline", 1) ? BST_CHECKED : BST_UNCHECKED); } else EnableWindow(GetDlgItem(hwnd, IDC_VISIBLE_UNLESS_OFFLINE), 0); break; case CHK_USE_TIMER: if (IsDlgButtonChecked(hwnd, CHK_USE_TIMER)) { MCONTACT hContact = (MCONTACT)GetWindowLongPtr(hwnd, GWLP_USERDATA); char string[4]; EnableWindow(GetDlgItem(hwnd, IDC_TIMER), 1); SetDlgItemTextA(hwnd, IDC_TIMER, _itoa(db_get_w(hContact, MODNAME, "Timer", 15), string, 10)); } else EnableWindow(GetDlgItem(hwnd, IDC_TIMER), 0); break; case IDC_OPEN_FILE: char szFileName[512]; if (Openfile(szFileName, 1)) SetDlgItemTextA(hwnd, IDC_LINK, szFileName); break; case IDC_OPEN_FOLDER: if (BrowseForFolder(hwnd, szFileName)) { mir_snprintf(szFileName, "%s ,/e", szFileName); SetDlgItemTextA(hwnd, IDC_LINK, "explorer.exe"); SetDlgItemTextA(hwnd, IDC_PARAMS, szFileName); } } break; case WM_NOTIFY: switch (((LPNMHDR)lParam)->idFrom) { case 0: switch (((LPNMHDR)lParam)->code) { case PSN_APPLY: int status = GetLCStatus(0, 0); MCONTACT hContact = (MCONTACT)GetWindowLongPtr(hwnd, GWLP_USERDATA); if (GetWindowTextLength(GetDlgItem(hwnd, IDC_LINK))) { char text[512]; GetDlgItemTextA(hwnd, IDC_LINK, text, _countof(text)); db_set_s(hContact, MODNAME, "ProgramString", text); WriteSetting(hContact, MODNAME, "ProgramString", MODNAME, "Program"); } else db_unset(hContact, MODNAME, "ProgramString"); if (GetWindowTextLength(GetDlgItem(hwnd, IDC_PARAMS))) { char text[512]; GetDlgItemTextA(hwnd, IDC_PARAMS, text, _countof(text)); db_set_s(hContact, MODNAME, "ProgramParamsString", text); WriteSetting(hContact, MODNAME, "ProgramParamsString", MODNAME, "ProgramParams"); } else db_unset(hContact, MODNAME, "ProgramParamsString"); if (GetWindowTextLength(GetDlgItem(hwnd, IDC_GROUP))) { TCHAR text[512]; GetDlgItemText(hwnd, IDC_GROUP, text, _countof(text)); Clist_CreateGroup(NULL, text); db_set_ts(hContact, "CList", "Group", text); } else db_unset(hContact, "CList", "Group"); for (int i = ID_STATUS_ONLINE; i <= ID_STATUS_OUTTOLUNCH; i++) if (IsDlgButtonChecked(hwnd, i)) db_set_w(hContact, MODNAME, "Icon", (WORD)i); /* set correct status */ if (status == ID_STATUS_ONLINE || status == ID_STATUS_AWAY || (status == db_get_w(hContact, MODNAME, "Icon", ID_STATUS_ONLINE))) db_set_w(hContact, MODNAME, "Status", (WORD)db_get_w(hContact, MODNAME, "Icon", ID_STATUS_ONLINE)); else db_set_w(hContact, MODNAME, "Status", ID_STATUS_OFFLINE); if (IsDlgButtonChecked(hwnd, CHK_USE_TIMER)) { if (GetWindowTextLength(GetDlgItem(hwnd, IDC_TIMER))) { TCHAR text[512]; GetDlgItemText(hwnd, IDC_TIMER, text, _countof(text)); db_set_w(hContact, MODNAME, "Timer", (WORD)_ttoi(text)); } else db_set_w(hContact, MODNAME, "Timer", 15); } else db_set_w(hContact, MODNAME, "Timer", 0); // always visible db_set_b(hContact, MODNAME, "AlwaysVisible", (BYTE)IsDlgButtonChecked(hwnd, IDC_ALWAYS_VISIBLE)); db_set_b(hContact, MODNAME, "VisibleUnlessOffline", (BYTE)IsDlgButtonChecked(hwnd, IDC_VISIBLE_UNLESS_OFFLINE)); } return TRUE; } break; } return FALSE; }
// 흘러간 시간을 나타내기 위한 함수 void CRankDlg::TimePoint(void) { // 상급일때 시간 계산 if (rankName == _T ("C:\\image\\HardRanking.txt")) { nMin.Format (_T ("0%d"), 1 -_ttoi (nMin)) ; if ((39 -_ttoi (nSec)) > 10) nSec.Format (_T ("%d"), 39 -_ttoi (nSec)) ; else nSec.Format (_T ("0%d"), 39 -_ttoi (nSec)) ; if ((100 -_ttoi (nCsec)) > 10) nCsec.Format (_T ("%d"), 100 -_ttoi (nCsec)) ; else nCsec.Format (_T ("0%d"), 100 -_ttoi (nCsec)) ; } // 중급일때 시간 계산 if (rankName == _T ("C:\\image\\NoramlRanking.txt")) { if ((49 -_ttoi (nSec)) > 10) nSec.Format (_T ("%d"), 49 -_ttoi (nSec)) ; else nSec.Format (_T ("0%d"), 49 -_ttoi (nSec)) ; if ((100 -_ttoi (nCsec)) > 10) nCsec.Format (_T ("%d"), 100 -_ttoi (nCsec)) ; else nCsec.Format (_T ("0%d"), 100 -_ttoi (nCsec)) ; } // 초급일때 시간 계산 if (rankName == _T ("C:\\image\\EasyRanking.txt")) { if((19 -_ttoi (nSec)) > 10) nSec.Format (_T ("%d"), 19 -_ttoi (nSec)) ; else nSec.Format (_T ("0%d"), 19 -_ttoi (nSec)) ; if ((100 -_ttoi (nCsec)) > 10) nCsec.Format (_T ("%d"), 100 -_ttoi (nCsec)) ; else nCsec.Format (_T ("0%d"), 100 -_ttoi (nCsec)) ; } }
//called by Parse when //encounters '{' character that means //number of the preceding character found int COXRegExpression::GetMinMaxCount(CString& sString, int* pnNumber, int* pMin, int* pMax) { *pMin=-1; *pMax=-1; CString sNumber; int nComma=0; BOOL bAtLeast=FALSE; while(sString.GetLength()>*pnNumber) { TCHAR ch=sString.GetAt(*pnNumber); (*pnNumber)++; if (ch==TEXT('}')) { if (!bAtLeast) { if (sNumber.IsEmpty()) { SetError(OX_REGEXP_ERROR_EMPTY_PARENTHESES); return FALSE; } *pMin=_ttoi((LPCTSTR) sNumber); return OX_REGEXP_TAG_CHARS_EXACTLY; } else if (sNumber.IsEmpty()) return OX_REGEXP_TAG_CHARS_AT_LEAST; else { *pMax=_ttoi((LPCTSTR) sNumber); if (*pMax>*pMin) return OX_REGEXP_TAG_CHARS_AT_LEAST_MOST; else { *pnNumber=nComma; (*pnNumber)++; SetError(OX_REGEXP_ERROR_INVALID_MOSTLEAST); return FALSE; } } } else if (ch==TEXT(',')) { if (bAtLeast) { SetError(OX_REGEXP_ERROR_TOO_MANY_COMMAS); return FALSE; } *pMin=sNumber.IsEmpty()?NULL:_ttoi((LPCTSTR) sNumber); sNumber=""; bAtLeast=TRUE; nComma=*pnNumber; } else if (ch<CHAR_ZERO || ch>CHAR_NINE) { SetError(OX_REGEXP_ERROR_MUST_DIGIT); return FALSE; } else { sNumber+=ch; } } SetError(OX_REGEXP_ERROR_NO_LAST_PARENTHES); return FALSE; }
void CdllInjectDoc::updateProcList(CListCtrl* lv, LPCTSTR imgName, LPSTR dllName) { // create Process Snapshot HANDLE hSnapshot; hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL); PROCESSENTRY32 pe = {sizeof(PROCESSENTRY32)}; // first snapshot Process32First(hSnapshot, &pe); // index, pid string int index = 0; TCHAR pid[20]; TCHAR emptyPid[20] = {0}; wsprintf(pid, _T("%d"), pe.th32ProcessID); // 1st, 2nd item text (exe file, pid) CString first, second; first = lv->GetItemText(0, 0); second = lv->GetItemText(0, 1); // update first process information if (pe.th32ProcessID != _ttoi(second.GetBuffer(0)) || _tcsicmp(pe.szExeFile, first.GetBuffer(0)) != 0) { lv->DeleteItem(0); index = lv->InsertItem(0, pe.szExeFile); lv->SetItem(index, 1, LVIF_TEXT, pid, 0, 0, 0, NULL); } // check automatic inject option if (imgName != NULL && _tcsicmp(imgName,pe.szExeFile) == 0) { InjectDll(pe.th32ProcessID, dllName); } // empty pid string //memcpy_s(pid, 20, emptyPid, 20); // insert next items int i = index + 1; // update next process informations while(Process32Next(hSnapshot, &pe) != FALSE) { first = lv->GetItemText(i, 0); second = lv->GetItemText(i, 1); // check automatic inject option if (imgName != NULL && _tcsicmp(imgName, pe.szExeFile) == 0) { // empty pid string memcpy_s(pid, 20, emptyPid, 20); _itot_s(pe.th32ProcessID, pid, 20, 10); CString temp; temp.Append(pe.szExeFile); temp += _T("|"); temp.Append(pid); temp += _T("|"); if (pidInfo.Find(temp, 0) != -1) { i++; continue; } TCHAR line[260]; _stprintf_s(line, 260, _T("Injecting %s(%d)... "), pe.szExeFile, pe.th32ProcessID); writeLog(CString(line)); if (InjectDll(pe.th32ProcessID, dllName) == TRUE) { writeLog(CString("SUCCEED.\r\n")); pidInfo += temp; } else writeLog(CString("FAILED.\r\n")); } // if already in listview, skip if (pe.th32ProcessID == _ttoi(second.GetBuffer(0)) && _tcsicmp(pe.szExeFile, first.GetBuffer(0)) == 0) { i++; continue; } // delete old process info, and inform that is exited & delete from injection list CString temp; temp = first + _T("|") + second + _T("|"); if (pidInfo.Find(temp) != -1) { CString output; output = _T("Process Exited: ") + first + _T("(") + second + _T(").") + _T("\r\n"); writeLog(output); pidInfo.Replace(temp, _T("")); } lv->DeleteItem(i); index = lv->InsertItem(i, pe.szExeFile); wsprintf(pid, _T("%d"), pe.th32ProcessID); lv->SetItem(index, 1, LVIF_TEXT, pid, 0, 0, 0, NULL); i++; } CloseHandle(hSnapshot); // if listcount is more than process list, delete records while (i < lv->GetItemCount()) { // delete old process info, and inform that is exited & delete from injection list first = lv->GetItemText(i, 0); second = lv->GetItemText(i, 1); CString temp; temp = first + _T("|") + second + _T("|"); if (pidInfo.Find(temp) != -1) { CString output; output = _T("Process Exited: ") + first + _T("(") + second + _T(").") + _T("\r\n"); writeLog(output); pidInfo.Replace(temp, _T("")); } lv->DeleteItem(i); i++; } }
//retrieve special char - //called for parsing when Parse found '\' character inline int COXRegExpression::GetSpecialChar(CString& sString, int* pnNumber, LPTSTR pch) { *pch=NULL; if (sString.GetLength()<=*pnNumber) { SetError(OX_REGEXP_ERROR_UNEXPECTED_END_SPECCHAR); return FALSE; } TCHAR ch=sString.GetAt(*pnNumber); (*pnNumber)++; switch (ch) { case TEXT('b'): return OX_REGEXP_TAG_WORD_BOUNDARY; case TEXT('B'): return OX_REGEXP_TAG_NON_WORD_BOUNDARY; case TEXT('d'): return OX_REGEXP_TAG_DIGIT; case TEXT('D'): return OX_REGEXP_TAG_NON_DIGIT; case TEXT('f'): *pch=TEXT('\f'); return OX_REGEXP_TAG_COMMON_CHAR; case TEXT('n'): *pch=TEXT('\n'); return OX_REGEXP_TAG_COMMON_CHAR; case TEXT('r'): *pch=TEXT('\r'); return OX_REGEXP_TAG_COMMON_CHAR; case TEXT('s'): return OX_REGEXP_TAG_WHITESPACE; case TEXT('S'): return OX_REGEXP_TAG_NON_WHITESPACE; case TEXT('t'): *pch=TEXT('\t'); return OX_REGEXP_TAG_COMMON_CHAR; case TEXT('v'): *pch=TEXT('\v'); return OX_REGEXP_TAG_COMMON_CHAR; case TEXT('w'): return OX_REGEXP_TAG_ANY_WORD; case TEXT('W'): return OX_REGEXP_TAG_ANY_NON_WORD; case TEXT('\\'): case TEXT('^'): case TEXT('$'): case TEXT('*'): case TEXT('+'): case TEXT('?'): case TEXT('.'): case TEXT('('): case TEXT(')'): case TEXT('|'): case TEXT('{'): case TEXT('}'): case TEXT('['): case TEXT(']'): case TEXT('/'): *pch=ch; return OX_REGEXP_TAG_COMMON_CHAR; default: if (ch<CHAR_ZERO || ch>CHAR_NINE) { SetError(OX_REGEXP_ERROR_UNEXPECTED_SPECCHAR); return FALSE; } else { CString sTemp(ch); *pch=(TCHAR) _ttoi((LPCTSTR) sTemp); return OX_REGEXP_TAG_REFERENCE_BACK; } break; } }
INT CommandChoice (LPTSTR param) { LPTSTR lpOptions; TCHAR Options[6]; LPTSTR lpText = NULL; BOOL bNoPrompt = FALSE; BOOL bCaseSensitive = FALSE; BOOL bTimeout = FALSE; INT nTimeout = 0; TCHAR cDefault = _T('\0'); INPUT_RECORD ir; LPTSTR p, np; LPTSTR *arg; INT argc; INT i; INT val; INT GCret; TCHAR Ch; DWORD amount,clk; LoadString(CMD_ModuleHandle, STRING_CHOICE_OPTION, Options, 4); lpOptions = Options; if (_tcsncmp (param, _T("/?"), 2) == 0) { ConOutResPaging(TRUE,STRING_CHOICE_HELP); return 0; } /* retrieve text */ p = param; while (TRUE) { if (*p == _T('\0')) break; if (*p != _T('/')) { lpText = p; break; } np = _tcschr (p, _T(' ')); if (!np) break; p = np + 1; } /* build parameter array */ arg = split (param, &argc, FALSE, FALSE); /* evaluate arguments */ if (argc > 0) { for (i = 0; i < argc; i++) { if (_tcsnicmp (arg[i], _T("/c"), 2) == 0) { if (arg[i][2] == _T(':')) lpOptions = &arg[i][3]; else lpOptions = &arg[i][2]; if (_tcslen (lpOptions) == 0) { ConErrResPuts(STRING_CHOICE_ERROR); freep (arg); return 1; } } else if (_tcsnicmp (arg[i], _T("/n"), 2) == 0) { bNoPrompt = TRUE; } else if (_tcsnicmp (arg[i], _T("/s"), 2) == 0) { bCaseSensitive = TRUE; } else if (_tcsnicmp (arg[i], _T("/t"), 2) == 0) { LPTSTR s; if (arg[i][2] == _T(':')) { cDefault = arg[i][3]; s = &arg[i][4]; } else { cDefault = arg[i][2]; s = &arg[i][3]; } if (*s != _T(',')) { ConErrResPuts(STRING_CHOICE_ERROR_TXT); freep (arg); return 1; } s++; nTimeout = _ttoi(s); bTimeout = TRUE; } else if (arg[i][0] == _T('/')) { ConErrResPrintf(STRING_CHOICE_ERROR_OPTION, arg[i]); freep (arg); return 1; } } } /* print text */ if (lpText) ConOutPrintf (_T("%s"), lpText); /* print options */ if (bNoPrompt == FALSE) { ConOutPrintf (_T("[%c"), lpOptions[0]); for (i = 1; (unsigned)i < _tcslen (lpOptions); i++) ConOutPrintf (_T(",%c"), lpOptions[i]); ConOutPrintf (_T("]?")); } ConInFlush (); if (!bTimeout) { while (TRUE) { ConInKey (&ir); val = IsKeyInString (lpOptions, #ifdef _UNICODE ir.Event.KeyEvent.uChar.UnicodeChar, #else ir.Event.KeyEvent.uChar.AsciiChar, #endif bCaseSensitive); if (val >= 0) { ConOutPrintf (_T("%c\n"), lpOptions[val]); nErrorLevel = val + 1; break; } Beep (440, 50); } freep (arg); TRACE ("ErrorLevel: %d\n", nErrorLevel); return 0; } clk = GetTickCount (); amount = nTimeout*1000; loop: GCret = GetCharacterTimeout (&Ch, amount - (GetTickCount () - clk)); switch (GCret) { case GC_TIMEOUT: TRACE ("GC_TIMEOUT\n"); TRACE ("elapsed %d msecs\n", GetTickCount () - clk); break; case GC_NOKEY: TRACE ("GC_NOKEY\n"); TRACE ("elapsed %d msecs\n", GetTickCount () - clk); goto loop; case GC_KEYREAD: TRACE ("GC_KEYREAD\n"); TRACE ("elapsed %d msecs\n", GetTickCount () - clk); TRACE ("read %c", Ch); if ((val=IsKeyInString(lpOptions,Ch,bCaseSensitive))==-1) { Beep (440, 50); goto loop; } cDefault=Ch; break; } TRACE ("exiting wait loop after %d msecs\n", GetTickCount () - clk); val = IsKeyInString (lpOptions, cDefault, bCaseSensitive); ConOutPrintf(_T("%c\n"), lpOptions[val]); nErrorLevel = val + 1; freep (arg); TRACE ("ErrorLevel: %d\n", nErrorLevel); return 0; }
BOOL CSettingPubTab::OnInitDialog() { CDialog::OnInitDialog(); // TODO: この位置に初期化の補足処理を追加してください int i; CString str; DWORD dw; /// レジストリ読み込み m_rgStartup = CRegString(_T("Software\\Microsoft\\Windows\\CurrentVersion\\Run\\Tapur"), _T(""), FALSE); m_rgDisable = CRegDWORD(_T("Software\\Tapur\\Tapur\\Settings\\InitDisable"), 0, TRUE); m_rgWaitAnswer = CRegDWORD(_T("Software\\Tapur\\Tapur\\Settings\\WaitAnswerTime"), 10, TRUE); m_rgMaxRecord = CRegDWORD(_T("Software\\Tapur\\Tapur\\Settings\\MaxRecordTime"), 180, TRUE); m_rgShortCutTapur = CRegDWORD(_T("Software\\Tapur\\Tapur\\Settings\\ShortCutTapur"), 1, TRUE); m_rgShortCutSkype = CRegDWORD(_T("Software\\Tapur\\Tapur\\Settings\\ShortCutSkype"), 1, TRUE); //// WAV or MP3 m_rgFormatType = CRegDWORD(_T("Software\\Tapur\\Tapur\\Settings\\AnswerRecordType"), 0, TRUE); // 初期値:0(WAV) m_rgCodecName = CRegString(_T("Software\\Tapur\\Tapur\\Settings\\AnswerRecordMP3Codec"), _T(""), TRUE); m_rgFormatName = CRegString(_T("Software\\Tapur\\Tapur\\Settings\\AnswerRecordMP3Format"), _T(""), TRUE); //// Startup str = m_rgStartup; m_blStartup = (str.IsEmpty()) ? FALSE : TRUE; //// 起動時無効 // メインメニューの「応答の有効」は非接続時には無効となるので、この機能と完全な連動はできない dw = m_rgDisable; m_blDisable = (dw == 1) ? TRUE : FALSE; /// コンボボックス初期化 CComboBox *pcmb; //// 待機時間 m_aryWaitAnswer.Add(_T("0")); m_aryWaitAnswer.Add(_T("5")); m_aryWaitAnswer.Add(_T("10")); m_aryWaitAnswer.Add(_T("15")); m_aryWaitAnswer.Add(_T("20")); m_aryWaitAnswer.Add(_T("30")); m_aryWaitAnswer.Add(_T("45")); m_aryWaitAnswer.Add(_T("60")); pcmb = (CComboBox*)GetDlgItem(IDC_CMB_WAIT_ANSWER); // pcmb->ShowDropDown(TRUE); // pcmb->SetExtendedUI(TRUE); for(i = 0; i < m_aryWaitAnswer.GetSize(); i++) { pcmb->AddString(m_aryWaitAnswer.GetAt(i)); } //// 録音時間 m_aryMaxRecord.Add(_T("1")); m_aryMaxRecord.Add(_T("2")); m_aryMaxRecord.Add(_T("3")); m_aryMaxRecord.Add(_T("5")); m_aryMaxRecord.Add(_T("10")); m_aryMaxRecord.Add(_T("15")); m_aryMaxRecord.Add(_T("20")); m_aryMaxRecord.Add(_T("30")); pcmb = (CComboBox*)GetDlgItem(IDC_CMB_MAX_RECORD); // pcmb->ShowDropDown(TRUE); // pcmb->SetExtendedUI(TRUE); for(i = 0; i < m_aryMaxRecord.GetSize(); i++) { pcmb->AddString(m_aryMaxRecord.GetAt(i)); } //// MP3コーデック pcmb = (CComboBox*)GetDlgItem(IDC_CMB_CODEC); int intCnt = m_oAcmMgr.GetDriverList(m_aryCodecName); if (intCnt > 0) { for(i = 0; i < intCnt; i++) { pcmb->AddString(m_aryCodecName.GetAt(i)); } //// MP3コーデックコンボボックスを選択 str = m_rgCodecName; for(i = 0; i < m_aryCodecName.GetSize(); i++) { if (str == m_aryCodecName.GetAt(i)) { m_idxCodecName = i; break; } } str = m_aryCodecName.GetAt(m_idxCodecName); str.MakeUpper(); if (str.Find(ACM_CODEC_MP3_LAME) >= 0) { m_oAcmMgr.FindDriver(CAcmMgr::WAV_MP3_LAME, str); } else { m_oAcmMgr.FindDriver(CAcmMgr::WAV_MP3, str); } //// MP3フォーマット pcmb = (CComboBox*)GetDlgItem(IDC_CMB_FORMAT); CWave wv; wv.BuildFormat(1, 16000, 16); //monoral m_wfx = wv.GetFormat(); intCnt = m_oAcmMgr.GetFormatList(m_aryFormatName, &m_wfx); if (intCnt > 0) { for(i = 0; i < intCnt; i++) { pcmb->AddString(m_aryFormatName.GetAt(i)); } //// MP3フォーマットコンボボックスを選択 str = m_rgFormatName; for(i = 0; i < m_aryFormatName.GetSize(); i++) { if (str == m_aryFormatName.GetAt(i)) { m_idxFormatName = i; break; } } } } else { //// MP3コーデックが存在しない場合、強制的にWAVを選択 m_rgFormatType = 0; // WAV //// MP3を選択不可に CButton *rd = (CButton *)GetDlgItem(IDC_RDO_MP3); rd->EnableWindow(0); } //// 待機時間コンボボックスを選択 dw = m_rgWaitAnswer; for(i = 0; i < m_aryWaitAnswer.GetSize(); i++) { str = m_aryWaitAnswer.GetAt(i); if (dw == (DWORD)_ttoi(str)) { m_idxWaitAnswer = i; break; } } //// 録音時間コンボボックスを選択 dw = m_rgMaxRecord; dw /= 60; // sec -> min for(i = 0; i < m_aryMaxRecord.GetSize(); i++) { str = m_aryMaxRecord.GetAt(i); if (dw == (DWORD)_ttoi(str)) { m_idxMaxRecord = i; break; } } //// WAV or MP3を選択 dw = m_rgFormatType; CButton *rd_wav = (CButton *)GetDlgItem(IDC_RDO_WAV); CButton *rd_mp3 = (CButton *)GetDlgItem(IDC_RDO_MP3); if (dw == 1) { rd_wav->SetCheck(0); rd_mp3->SetCheck(1); } else { rd_wav->SetCheck(1); rd_mp3->SetCheck(0); } /* //// ショートカット dw = m_rgShortCutTapur; m_blShortCutTapur = (dw == 1) ? TRUE : FALSE; dw = m_rgShortCutSkype; m_blShortCutSkype = (dw == 1) ? TRUE : FALSE; */ UpdateData(FALSE); // DDX更新 return TRUE; // コントロールにフォーカスを設定しないとき、戻り値は TRUE となります // 例外: OCX プロパティ ページの戻り値は FALSE となります }
// img.Save(sDir + _T("__") + sName2); img.Destroy(); std::string sMsg; stringEx::Format(sMsg, _T("Characters count is not the same for font '%s' item '%s'"), sFontName.c_str(), sName.c_str()); MessageBox(NULL, sMsg.c_str(), _T("Error"), MB_OK); #endif delete pInfo; continue; } pInfo->m_nCharCount = arrSymbolLeftOffsetAndWidth.size(); } // }} int nFontVal = _ttoi(&((TCHAR*)sName.c_str())[nIndex]); if( nFontVal > 0 ){ pInfo->m_nFontVal = nFontVal; } else{ delete pInfo; continue; } // Add embedeed font item. pFont->m_listItems.Add(pInfo); } // Finalize embedeed font loading. pFont->m_sFontName = sFontName; pFont->m_nFontId = m_listEmbedeedFonts.GetCount();
void Cwhu_FaxSettingDlg::Lin_ExportForArrToExcel(CStringArray &m_AutoForward,CString m_FilePath) { CApplication app; CWorkbooks books; CWorkbook book; CWorksheets sheets; CWorksheet sheet; CRange range; CRange cols; CString str1, str2; int m_ArrPos = 0; int m_ArrCount = m_AutoForward.GetSize(); COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR); if( !app.CreateDispatch(_T("Excel.Application"))) { MessageBox(_T("无法创建Excel应用!")); return; } books=app.get_Workbooks(); book=books.Add(covOptional); sheets=book.get_Sheets(); sheet=sheets.get_Item(COleVariant((short)1)); //写入表头// str2 = _T("A1"); CString str = _T("源号码"); range=sheet.get_Range(COleVariant(str2),COleVariant(str2)); range.put_Value2(COleVariant(str)); str2 = _T("B1"); str = _T("转发号码个数"); range=sheet.get_Range(COleVariant(str2),COleVariant(str2)); range.put_Value2(COleVariant(str)); for (int j=3;j<11;j++) { str2 = Lin_GetEnglishCharacter(j); str2 = str2 +_T("1"); str= _T("转发号码"); range=sheet.get_Range(COleVariant(str2),COleVariant(str2)); range.put_Value2(COleVariant(str)); } CStringArray m_LineStart; for (int i=0;i<m_ArrCount;i++) { CString m_str= m_AutoForward.GetAt(i); int CharCount = m_str.GetLength(); if (CharCount<4) //如果是号码个数// { m_str.Format(_T("%d"),i-1); m_LineStart.Add(m_str); } } int ItemNum = 2; int ColumNum = 1; for (int i=0;i<m_LineStart.GetSize();i++) { int Pos = _ttoi(m_LineStart.GetAt(i)); CString m_str = m_AutoForward.GetAt(Pos+1); int Number = _ttoi(m_str); for (int j=0;j<Number+2;j++) { str2 = Lin_GetEnglishCharacter(ColumNum); str1.Format(_T("%d"),ItemNum); str2 = str2 +str1; CString content = _T("'")+m_AutoForward.GetAt(Pos+j); range=sheet.get_Range(COleVariant(str2),COleVariant(str2)); range.put_Value2(COleVariant(content)); ColumNum++; if (ColumNum>10) { ColumNum = 3; ItemNum++; } } ItemNum++; ColumNum = 1; } cols=range.get_EntireColumn(); cols.AutoFit(); //app.put_Visible(TRUE); //app.put_UserControl(TRUE); book.SaveAs(COleVariant(m_FilePath),covOptional,covOptional,covOptional,covOptional,covOptional,0,covOptional,covOptional,covOptional,covOptional,covOptional); app.Quit(); }
bool EmbedeedFontMan::AddFont(const std::string sFontFolder, const std::string sFontName){ std::string sDir = sFontFolder; if( sDir[sDir.length() - 1] != '\\' ) sDir += _T("\\"); EmbedeedFont* pFont = new EmbedeedFont(); // Load characters code map. {{ BYTE* lpContent = NULL; int nSize = 0; if( Path::ReadFileContent(sDir + _T("codes.txt"), lpContent, nSize) && nSize > 0 ){ std::string sContent; sContent.resize(nSize); memcpy((void*)sContent.c_str(), lpContent, nSize); //memcpy(sContent.GetBufferSetLength(nSize), lpContent, nSize); CStringArray arrStrings; StringHelper::Split(&sContent, _T(";"), arrStrings); std::string sCharCode; for(int i=0; i<arrStrings.size(); i++){ sCharCode = arrStrings[i]; int nCharCode = 0; // Hex value if( sCharCode[0] == '#' ) nCharCode = StringHelper::HexStringIntoInt(&((TCHAR*)sCharCode.c_str())[1], sCharCode.length() - 1); else nCharCode = _ttoi(sCharCode.c_str()); pFont->m_arrCharacters.Add((void*)nCharCode, (void*)i); } } else{ #ifdef _DEBUG std::string sMsg; stringEx::Format(sMsg, _T("Couldn't find %s"), (sDir + _T("codes.txt")).c_str()); ::MessageBox(NULL, sMsg.c_str(), _T("Error"), MB_OK); #endif if( lpContent ) delete [] lpContent; delete pFont; return false; } // }} if( lpContent ){ delete [] lpContent; lpContent = NULL; } CStringArray arrFileNames; if( Path::GetFilesByExtention(sDir, _T("*.bmp"), arrFileNames, true) == 0 ){ delete pFont; return false; } for(int i=0; i<arrFileNames.size(); i++){ std::string sName = arrFileNames[i]; std::string sName2 = sName; std::string sFile = sDir + sName; if( sName.substr(0, sFontName.length()) != sFontName ) continue; // Skip wrong file name. sName.erase(0, sFontName.length()); stringEx::MakeLower(sName); int nIndex = 0; EmbedeedFontItemInfo* pInfo = new EmbedeedFontItemInfo(); pInfo->ZeroInit(); // Bold if( sName[nIndex] == 'b' ){ pInfo->m_nCharFlags |= EmbedeedFontItemInfo::EMBEDEED_FONT_FLAG_BOLD; nIndex ++; } // Underline if( sName[nIndex] == 'u' ){ pInfo->m_nCharFlags |= EmbedeedFontItemInfo::EMBEDEED_FONT_FLAG_UNDERLINE; nIndex ++; } // Italic if( sName[nIndex] == 'i' ){ pInfo->m_nCharFlags |= EmbedeedFontItemInfo::EMBEDEED_FONT_FLAG_ITALIC; nIndex ++; } // Load characters map image and detect characters left offset and width (in pixels). {{ Image* pImage = Image::LoadImage(sFile, -1, -1, false); if( pImage ){ int nWidthLimit = pImage->GetWidth(); int nWidth = pImage->GetWidth(); int nHeight = pImage->GetHeight(); int nWidthBytes = pImage->GetWidthBytes(); int nSymbolCt = 0; BYTE* pBits = (BYTE*)pImage->GetBits(); int nXOffset = 0; int nBPP = pImage->GetBPP()/8; int nSymbolMostLeftOffset = -1; int nSymbolMostRightOffset = -1; CDWordArray arrSymbolLeftOffsetAndWidth; std::string sSymbolStartPointAndWidth; int nMaxXOffset = nWidth; for(int x=nXOffset; x<nMaxXOffset; x++){ bool bClearLine = true; for(int y=0; y<nHeight; y++){ BYTE* pLineStartingBits = &pBits[((nHeight - y - 1)*nWidthBytes)]; BYTE* pPixel = &pLineStartingBits[x*nBPP]; // Is pixel visible. if( pPixel[0] > 10 ){ bClearLine = false; if( nSymbolMostLeftOffset > -1 ) nSymbolMostRightOffset = x; else nSymbolMostLeftOffset = x; continue; } pPixel = &pPixel[nBPP]; } if( bClearLine && nSymbolMostLeftOffset > -1 ){ if( nSymbolMostRightOffset == -1 ) nSymbolMostRightOffset = nSymbolMostLeftOffset; DWORD dwCombineVal = (nSymbolMostLeftOffset << 16) | ((nSymbolMostRightOffset - nSymbolMostLeftOffset + 1)&0xFFFF); arrSymbolLeftOffsetAndWidth.push_back(dwCombineVal); #ifdef _DEBUG std::string sFormat; stringEx::Format(sFormat, _T("%d:%d;"), nSymbolMostLeftOffset, nSymbolMostRightOffset - nSymbolMostLeftOffset + 1); sSymbolStartPointAndWidth += sFormat; #endif nSymbolMostLeftOffset = -1; nSymbolMostRightOffset = -1; } } pInfo->m_imageCharacters.Attach(pImage->Detach()); delete pImage; if( (arrSymbolLeftOffsetAndWidth.size() == pFont->m_arrCharacters.GetCount()) ){ pInfo->m_pCharPoints = new Point[arrSymbolLeftOffsetAndWidth.size()]; for(int j=0; j<arrSymbolLeftOffsetAndWidth.size(); j++){ DWORD dwCombineVal = arrSymbolLeftOffsetAndWidth.at(j); pInfo->m_pCharPoints[j].x = (int)(dwCombineVal>>16); pInfo->m_pCharPoints[j].y = (int)(dwCombineVal&0xFFFF); } } else{ #ifdef _DEBUG Image bmImg; bmImg.CreateDIBBitmap(pInfo->m_imageCharacters.GetBPP(), RGB(0, 0, 0), pInfo->m_imageCharacters.GetWidth(), pInfo->m_imageCharacters.GetHeight()*2, 0); _DC memDC; memDC.CreateCompatibleDC(NULL); memDC.SelectObject(bmImg); _DC srcDC; srcDC.CreateCompatibleDC(NULL); srcDC.SelectObject(pInfo->m_imageCharacters); memDC.BitBlt(0, 0, pInfo->m_imageCharacters.GetWidth(), pInfo->m_imageCharacters.GetHeight(), srcDC, 0, 0, SRCCOPY); int nHeight = pInfo->m_imageCharacters.GetHeight(); for(int j=0; j<arrSymbolLeftOffsetAndWidth.size(); j++){ DWORD dwCombineVal = arrSymbolLeftOffsetAndWidth.at(j); int nLeft = (int)(dwCombineVal>>16); int nWidth = (int)(dwCombineVal&0xFFFF); memDC.FillSolidRect(Rect(nLeft, nHeight, nLeft+nWidth, nHeight+nHeight), RGB(255, 255, 0)); } DeleteFile((sDir + _T("__") + sName2).c_str()); Image img; img.Attach((HBITMAP)bmImg.Detach()); // img.Save(sDir + _T("__") + sName2); img.Destroy(); std::string sMsg; stringEx::Format(sMsg, _T("Characters count is not the same for font '%s' item '%s'"), sFontName.c_str(), sName.c_str()); MessageBox(NULL, sMsg.c_str(), _T("Error"), MB_OK); #endif delete pInfo; continue; } pInfo->m_nCharCount = arrSymbolLeftOffsetAndWidth.size(); }
BOOL GetWindowsVersion(WindowsVersion& verInfo) { OSVERSIONINFOEX osvi; TCHAR szPack[4] = _T("-1"); // Try calling GetVersionEx using the OSVERSIONINFOEX structure. // If that fails, try using the OSVERSIONINFO structure. ZeroMemory(&osvi,sizeof(OSVERSIONINFOEX)); osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); BOOL bResult = GetVersionEx((OSVERSIONINFO*)&osvi); if(!bResult) { // If OSVERSIONINFOEX doesn't work, try OSVERSIONINFO. osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO); if (!GetVersionEx ( (OSVERSIONINFO *) &osvi) ) return FALSE; } // The system Type (2=Win95, 3=Win98/ME, // 4=Win/ME, 5=Win/NT 6=Win/2000) //if(osvi.dwPlatformId == VER_PLATFORM_WIN32s) // *iSysType=VST_UnknownTemp; if(osvi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) verInfo.osCode = VST_Win95; if(osvi.dwPlatformId == VER_PLATFORM_WIN32_NT) verInfo.osCode = VST_WinNT; // Major version number verInfo.major=osvi.dwMajorVersion; if(verInfo.major == 5) verInfo.osCode=VST_Win2000; if(verInfo.major == 6) verInfo.osCode=VST_Vista; // Minor version number verInfo.minor=osvi.dwMinorVersion; // For Win/98, minor version is 10 if((verInfo.osCode==VST_Win95) && (verInfo.minor==10)) verInfo.osCode=VST_Win98; // For Win/ME, minor version is 90 or greater if((verInfo.osCode==VST_Win95) && (verInfo.minor==90)) verInfo.osCode=VST_WinME; // For Win/XP, minor version is 1 if((verInfo.osCode==VST_Win2000) && (verInfo.minor==1)) verInfo.osCode=VST_WinXP; // For Win/2003, minor version is 2 if((verInfo.osCode==VST_Win2000) && (verInfo.minor==2)) verInfo.osCode=VST_Win2003; // Service Pack info // For NT/2000/later, extract the service pack as a number verInfo.pack=0; if((verInfo.osCode>=VST_WinNT) && (_tcscmp(osvi.szCSDVersion,_T("Service Pack")))) { szPack[0]=osvi.szCSDVersion[12]; szPack[1]=osvi.szCSDVersion[13]; szPack[2]=osvi.szCSDVersion[14]; verInfo.pack=_ttoi(szPack); } // For Win/95, extract OSR info and return in iSubSys if(verInfo.osCode==VST_Win95) { if(osvi.szCSDVersion[1]=='C' || osvi.szCSDVersion[1]=='B' ) verInfo.osCode=VST_Win95OSR2; } // For Win/98, extract OSR info and return in iSubSys if(verInfo.osCode==VST_Win98) { if(osvi.szCSDVersion[1]=='A') verInfo.osCode=VST_Win98SE; // Second Edition } // For NT/2000/XP/later, determine whether Home, Professional or Server // or Advanced Server if(verInfo.osCode>=VST_WinNT) { if(bResult) { // See if Workstation or Server if(osvi.wProductType == VER_NT_WORKSTATION) { // See if personal edition if(osvi.wSuiteMask & VER_SUITE_PERSONAL) { verInfo.osSubCode=1; } else { verInfo.osSubCode=2; // Must be Professional } } if(osvi.wProductType == VER_NT_SERVER || osvi.wProductType == VER_NT_DOMAIN_CONTROLLER) { // See if data center edition if(osvi.wSuiteMask & VER_SUITE_DATACENTER) { verInfo.osSubCode=5; // Datacenter Server } else if(osvi.wSuiteMask & VER_SUITE_ENTERPRISE) { verInfo.osSubCode=4; // Advanced Server } else if(osvi.wSuiteMask & VER_SUITE_BACKOFFICE) { verInfo.osSubCode=6; // BackOffice Server } else { verInfo.osSubCode=3; // Must be Server } } } else { // Unable to retrieve OSVERSIONINFOEX, get from // registry (for older versions of NT) instead HKEY hKey; TCHAR szProductType[80]; DWORD dwBufLen; RegOpenKeyEx( HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\Control\\ProductOptions"), 0, KEY_QUERY_VALUE, &hKey ); RegQueryValueEx( hKey, _T("ProductType"), NULL, NULL, (LPBYTE)szProductType, &dwBufLen); RegCloseKey( hKey ); if(lstrcmpi( _T("WINNT"), szProductType) == 0 ) verInfo.osSubCode=2; if(lstrcmpi( _T("LANMANNT"), szProductType) == 0 ) verInfo.osSubCode=3; if(lstrcmpi( _T("SERVERNT"), szProductType) == 0 ) verInfo.osSubCode=4; } // Build number verInfo.build=osvi.dwBuildNumber & 0xFFFF; } return TRUE; }
for (; *lpsz != '\0' && _istdigit(*lpsz); lpsz = _tcsinc(lpsz)) ; } int nPrecision = 0; if (*lpsz == '.') { // skip past '.' separator (width.precision) lpsz = _tcsinc(lpsz); // get precision and skip it if (*lpsz == '*') nPrecision = *va_arg(argList, int*); else { nPrecision = _ttoi(lpsz); for (; *lpsz != '\0' && _istdigit(*lpsz); lpsz = _tcsinc(lpsz)) ; } } // should be on type modifier or specifier int nModifier = 0; switch (*lpsz) { // modifiers that affect size case 'h': nModifier = FORCE_ANSI; lpsz = _tcsinc(lpsz); break; case 'l':
// Function name : RunLocal // Description : // Return type : void // Argument : bool bDoSMP void RunLocal(bool bDoSMP) { DWORD size = 100; TCHAR pszHost[100], pszCmdLine[MAX_PATH], error_msg[256], pszEnv[256], pszExtra[MAX_PATH]; STARTUPINFO saInfo; PROCESS_INFORMATION psInfo; LPTSTR pEnv; int rootPort=0; HANDLE *hProcess = new HANDLE[g_nHosts]; GetComputerName(pszHost, &size); wsprintf(pszCmdLine, TEXT("%s %s"), g_pszExe, g_pszArgs); GetTempFileName(_T("."), _T("mpi"), 0, pszExtra); // This produces a name in the form: ".\XXXmpi.tmp" // \ is illegal in named objects so use &pszExtra[2] instead of pszExtra for the JobID if (bDoSMP) { wsprintf(pszEnv, _T("MPICH_JOBID=%s|MPICH_IPROC=0|MPICH_NPROC=%d|MPICH_ROOTHOST=%s|MPICH_ROOTPORT=%d|MPICH_EXTRA=%s|MPICH_COMNIC=%s|MPICH_SHM_LOW=0|MPICH_SHM_HIGH=%d"), &pszExtra[2], g_nHosts, pszHost, -1, pszExtra, pszHost, g_nHosts-1); } else { wsprintf(pszEnv, _T("MPICH_JOBID=%s|MPICH_IPROC=0|MPICH_NPROC=%d|MPICH_ROOTHOST=%s|MPICH_ROOTPORT=%d|MPICH_EXTRA=%s|MPICH_COMNIC=%s"), &pszExtra[2], g_nHosts, pszHost, -1, pszExtra, pszHost); } SetEnvironmentVariables(pszEnv); if (_tcslen(g_pszEnv) > 0) SetEnvironmentVariables(g_pszEnv); pEnv = GetEnvironmentStrings(); GetStartupInfo(&saInfo); // launch first process if (CreateProcess( NULL, pszCmdLine, NULL, NULL, FALSE, IDLE_PRIORITY_CLASS, pEnv, NULL, &saInfo, &psInfo)) { hProcess[0] = psInfo.hProcess; CloseHandle(psInfo.hThread); } else { int error = GetLastError(); Translate_Error(error, error_msg, TEXT("CreateProcess failed: ")); _tprintf(TEXT("Unable to launch '%s', error %d: %s"), pszCmdLine, error, error_msg); return; } RemoveEnvironmentVariables(pszEnv); FreeEnvironmentStrings(pEnv); if (g_bNoMPI) { rootPort = -1; } else { // Open the file and read the port number written by the first process HANDLE hFile = CreateFile(pszExtra, GENERIC_READ, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); if (hFile == INVALID_HANDLE_VALUE) { Translate_Error(GetLastError(), error_msg, TEXT("CreateFile failed ")); _tprintf(error_msg); return; } DWORD num_read = 0; TCHAR pBuffer[100]; pBuffer[0] = '\0'; TCHAR *pChar = pBuffer; clock_t cStart = clock(); while (true) { num_read = 0; if (!ReadFile(hFile, pChar, 100, &num_read, NULL)) { Translate_Error(GetLastError(), error_msg, TEXT("ReadFile failed ")); _tprintf(error_msg); return; } if (num_read == 0) { if (clock() - cStart > 10 * CLOCKS_PER_SEC) { _tprintf(TEXT("Wait for process 0 to write port to temporary file timed out\n")); TerminateProcess(hProcess, 0); return; } Sleep(100); } else { for (int i=0; i<(int)num_read; i++) { if (*pChar == _T('\n')) break; pChar ++; } if (*pChar == _T('\n')) break; } } CloseHandle(hFile); rootPort = _ttoi(pBuffer); } DeleteFile(pszExtra); // launch all the rest of the processes for (int i=1; i<g_nHosts; i++) { if (bDoSMP) { wsprintf(pszEnv, _T("MPICH_JOBID=%s|MPICH_IPROC=%d|MPICH_NPROC=%d|MPICH_ROOTHOST=%s|MPICH_ROOTPORT=%d|MPICH_COMNIC=%s|MPICH_SHM_LOW=0|MPICH_SHM_HIGH=%d"), &pszExtra[2], i, g_nHosts, pszHost, rootPort, pszHost, g_nHosts-1); } else { wsprintf(pszEnv, _T("MPICH_JOBID=%s|MPICH_IPROC=%d|MPICH_NPROC=%d|MPICH_ROOTHOST=%s|MPICH_ROOTPORT=%d|MPICH_COMNIC=%s"), &pszExtra[2], i, g_nHosts, pszHost, rootPort, pszHost); } SetEnvironmentVariables(pszEnv); pEnv = GetEnvironmentStrings(); if (CreateProcess( NULL, pszCmdLine, NULL, NULL, FALSE, IDLE_PRIORITY_CLASS, pEnv, NULL, &saInfo, &psInfo)) { hProcess[i] = psInfo.hProcess; CloseHandle(psInfo.hThread); } else { int error = GetLastError(); Translate_Error(error, error_msg, TEXT("CreateProcess failed: ")); _tprintf(TEXT("Unable to launch '%s', error %d: %s"), pszCmdLine, error, error_msg); return; } RemoveEnvironmentVariables(pszEnv); FreeEnvironmentStrings(pEnv); } // Wait for all the processes to terminate WaitForLotsOfObjects(g_nHosts, hProcess); for (i=0; i<g_nHosts; i++) CloseHandle(hProcess[i]); delete hProcess; }
BOOL DlgMatrixTab::OnInitDialog() { //if (m_bPopupDialog) //{ // SetWindowLong(this->m_hWnd, GWL_STYLE, // ((GetWindowLong(this->m_hWnd, GWL_STYLE) & ~(WS_CHILD)) | WS_POPUP)); // //| DS_FIXEDSYS | WS_CHILD | WS_VISIBLE // //STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU // //DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU // //ModifyStyle(WS_CHILD, DS_MODALFRAME | WS_POPUP | WS_CAPTION ); //}else //{ //GWL_EXSTYLE // SetWindowLong(this->m_hWnd, GWL_STYLE, // ((GetWindowLong(this->m_hWnd, GWL_STYLE) & ~(WS_POPUP)) | WS_CHILD)); // //ModifyStyle( WS_POPUP, WS_CHILD); //} //POINT pos; //GetCursorPos(&pos); // here is your coordinates //int i_x=pos.x; //int i_y=pos.y; //int i_h=70, i_w=48, i_gap=30, i_sw=10, i_dw=410, i_y1=50 ; //SetWindowPos(NULL, i_x-i_dw, i_y, 0, 0, SWP_NOSIZE | SWP_NOZORDER); CDialog::OnInitDialog(); if (m_bPopupDialog) { m_Brushbk.CreateSolidBrush(GLOBALBKCOLOR); SetWindowLong(this->m_hWnd, GWL_STYLE, (GetStyle() | DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_SYSMENU |WS_BORDER)); } else m_Brushbk.CreateSolidBrush(BKCOLOR); DWORD dwStyle = BS_PUSHBUTTON |BS_NOTIFY |WS_VISIBLE; COLORREF clBG = BKCOLOR; int nHoveOver = (int)BTNST_AUTO_GRAY; CRect rc; GetClientRect(rc); //ClientToScreen(rc); //MoveWindow(rc.left, rc.top, rc.right, rc.bottom, SWP_NOSIZE | SWP_NOZORDER); CString csMsg; LOADSTRING(csMsg,IDS_EMAPLIVEVIEW); AfxExtractSubString(csMsg, csMsg.GetBuffer(), 0, ':'); TCITEM tcItem; tcItem.mask = TCIF_TEXT; tcItem.pszText = (LPWSTR)(LPCTSTR)csMsg; m_TabCtrl.InsertItem(LV, &tcItem); m_dlgMatrixTag = new CDlgMatrixTag; m_dlgMatrixTag->Create(IDD_DLG_MATRIX,&m_TabCtrl); LOADSTRING(csMsg,IDS_ADD_CAM_EVENT_GROUP) tcItem.pszText = (LPWSTR)(LPCTSTR)csMsg; m_TabCtrl.InsertItem(EVENTLV, &tcItem); m_dlgMatrixEvent = new CDlgMatrixEvent; m_dlgMatrixEvent->Create(IDD_DLG_MATRIX_EVENT,&m_TabCtrl); LOADSTRING(csMsg,IDS_FLYAWAY); tcItem.pszText = (LPWSTR)(LPCTSTR)csMsg; m_TabCtrl.InsertItem(IPWALL, &tcItem); vSetTabCtrlStyle(); CRect rect; //rect.OffsetRect(-10, -10); m_TabCtrl.GetClientRect(&rect); //ClientToScreen(rect); rect.top+=20; //rect.bottom-=4; //rect.left+=4; //rect.right-=4; m_dlgMatrixTag->MoveWindow(&rect); m_dlgMatrixEvent->MoveWindow(&rect); m_dlgMatrixTag->ShowWindow(SW_SHOW); m_dlgMatrixEvent->ShowWindow(SW_HIDE); // this runs first than CEtroExplorerView::OnInitialUpdate(), so i have to get this value from ini CIniReader ini; CString csEventLV = ini.getKeyValue(_T("EventLV"),_T("video")); if( _ttoi(csEventLV) == 1) { m_TabCtrl.SetCurSel(1);// select event tab m_dlgMatrixEvent->ShowWindow(SW_SHOW); m_dlgMatrixTag->ShowWindow(SW_HIDE); ((CMainFrame*)AfxGetMainWnd())->m_bEventLV = true; } else ((CMainFrame*)AfxGetMainWnd())->m_bEventLV = false; ((CMainFrame*)AfxGetMainWnd())->m_bIPWallSelected = false; //if (m_bPopupDialog) //{ // SetWindowLong(this->m_hWnd, GWL_STYLE, // ((GetWindowLong(this->m_hWnd, GWL_STYLE) & ~(WS_CHILD)) | WS_POPUP | DS_MODALFRAME)); // //| DS_FIXEDSYS | WS_CHILD | WS_VISIBLE // //STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU // //DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU // //ModifyStyle(WS_CHILD, DS_MODALFRAME | WS_POPUP | WS_CAPTION ); // CRect rc; // GetWindowRect(rc); // SetWindowPos(this, rc.left, rc.top,rc.Width(),rc.Height(),WS_EX_TOPMOST); // CenterWindow(); //}else //{ // SetWindowLong(this->m_hWnd, GWL_STYLE, // ((GetWindowLong(this->m_hWnd, GWL_STYLE) & ~(WS_POPUP)) | WS_CHILD)); //} return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void CNDCardCreditDlg::OnBnClickedButtonCredit() { UpdateData(); if (!CLocalServer::GetInstance()->ActiveMemberList.IsAllowCredit(m_nMemberId)) { return; } if (m_strPwd.IsEmpty() || m_strCardId.IsEmpty()) { return; } NS_SERVLET::CCardCreditMethod CardCredit; CString strTmp(_T("XN")); if (m_cboCardType.GetCurSel() == 1) { strTmp = (_T("ZS")); } CardCredit.SetCategory(strTmp); CardCredit.SetCardPwd(m_strPwd); CardCredit.SetMemberId(_ttoi(m_strMemberID)); CardCredit.SetCardSerial(m_strCardId); double dblAmount = _tstof(m_strMoney); INT nTmp = dblAmount * 100; CardCredit.SetAmount(nTmp); theApp.GetCurCashier()->DoCardCredit(CardCredit); if (CardCredit.GetStatusCode() == 0) { m_CreditCard.DeleteCreditCard(); {//写入数据库 CCreditInfoDB CreditInfo; CreditInfo.SetCardSerial(m_strCardId); CreditInfo.SetCreditDate(CIBAHelpper::FormatCenterTime(CardCredit.GetTranTime())); CreditInfo.SetRefNo(CardCredit.GetRefNo()); CreditInfo.SetCreditPresent(CardCredit.GetCreditPresent()); CreditInfo.SetCreditAmount(nTmp); CreditInfo.SetOperator(theApp.GetCurCashier()->GetName()); CreditInfo.SetNetBarId(CNetBarConfig::GetInstance()->GetNetBarId()); CreditInfo.SetCashRegisterID(CIBAConfig::GetInstance()->GetCashRegisterID()); CreditInfo.SetMemberId(_ttoi(m_strMemberID)); CreditInfo.SetSerialNo(CardCredit.GetLocalSerialNo()); CreditInfo.SetCassId(m_nUserClassID); CreditInfo.SetCategory(strTmp); CIBADAL::GetInstance()->AddCardCreditRecord(CreditInfo); } m_strPwd.Empty(); m_strMoney.Empty(); m_strCardId.Empty(); UpdateData(FALSE); GetDlgItem(IDC_BUTTON_CREDIT)->EnableWindow(FALSE); GetDlgItem(IDC_BUTTON_READCARD)->EnableWindow(FALSE); OnBnClickedButtonQuery(); } SetToolTipPos(IDC_BUTTON_CREDIT); ShowToolTip(CardCredit.GetStatusMessage(), CardCredit.GetStatusCode() != 0); }
static bool AddNearByFields( const AcDbObjectId& objId, const CString& func) { CString type = _T("计算参数"); CString numMine; DataHelper::GetPropertyData(objId,_T("邻近层煤层层数"),numMine); int dNumMine = _ttoi(numMine); if(dNumMine <= 0) { AfxMessageBox(_T("没有邻近层")); return false; } for (int i = 0; i < dNumMine; i++) { CString strmi,strX0i,strXi,strEntai; strmi.Format(_T("第%d邻近层的煤厚度"),i+1); strX0i.Format(_T("第%d邻近层的原始瓦斯含量"),i+1); strXi.Format(_T("第%d邻近层的残余瓦斯含量"),i+1); strEntai.Format(_T("第%d邻近层的瓦斯涌出率"),i+1); FieldInfo fieldInfo; fieldInfo.m_dt = DT_NUMERIC; fieldInfo.m_minValue = 0; fieldInfo.m_maxValue = 999999; fieldInfo.m_enable = true; fieldInfo.m_showInTooltip = true; fieldInfo.m_descr = _T("单位:m"); FuncFieldHelper::AddField(func,type,strmi); FieldHelper::AddField(type,strmi); setFieldInfo(type,strmi,fieldInfo); FuncFieldHelper::AddField(func,type,strX0i); FieldHelper::AddField(type,strX0i); fieldInfo.m_descr = _T("单位:m3/t"); setFieldInfo(type,strX0i,fieldInfo); FuncFieldHelper::AddField(func,type,strXi); FieldHelper::AddField(type,strXi); fieldInfo.m_descr = _T("单位:m3/t"); setFieldInfo(type,strXi,fieldInfo); FuncFieldHelper::AddField(func,type,strEntai); FieldHelper::AddField(type,strEntai); fieldInfo.m_descr = _T("单位:%"); fieldInfo.m_enable = false; setFieldInfo(type,strEntai,fieldInfo); } while(dNumMine > 0) { CString strmi,strX0i,strXi,strEntai; strmi.Format(_T("第%d邻近层的煤厚度"),dNumMine+1); strX0i.Format(_T("第%d邻近层的原始瓦斯含量"),dNumMine+1); strXi.Format(_T("第%d邻近层的残余瓦斯含量"),dNumMine+1); strEntai.Format(_T("第%d邻近层的瓦斯涌出率"),dNumMine+1); if(FuncFieldHelper::RemoveField(func,type,strmi) && FuncFieldHelper::RemoveField(func,type,strX0i) && FuncFieldHelper::RemoveField(func,type,strXi) && FuncFieldHelper::RemoveField(func,type,strEntai)) { dNumMine += 1; } else { dNumMine = 0; } } return true; }
void CTCExeVersionManager::changedExeVerInfo(CString lpExeName) { CVersionInfo vi(lpExeName); if(vi.IsValid()) { vi[L"OriginalFilename"]=CTCRunTimeManager::g_ProjName+L".exe"; if(!m_productName.IsEmpty()) vi[L"ProductName"] = m_productName; if(!m_verDesInfo.IsEmpty()) vi[L"FileDescription"] = m_verDesInfo; if(!m_fileInfo.IsEmpty()) { CString help = m_fileInfo + _T("."); CStringArray version; while(!help.IsEmpty()) { int pos = help.Find(_T(".")); if(pos!=-1) { CString nume = help.Left(pos); version.Add(nume); help = help.Right(help.GetLength() - pos -1); } } vi.SetFileVersion(_ttoi(version[0]),_ttoi(version[1]),_ttoi(version[2]),_ttoi(version[3])); } if(!m_productInfo.IsEmpty()) { CString help = m_productInfo + _T("."); CStringArray versionpro; while(!help.IsEmpty()) { int pos = help.Find(_T(".")); if(pos!=-1) { CString nume = help.Left(pos); versionpro.Add(nume); help = help.Right(help.GetLength() - pos -1); } } vi.SetProductVersion(_ttoi(versionpro[0]),_ttoi(versionpro[1]),_ttoi(versionpro[2]),_ttoi(versionpro[3])); } if(!m_internalName.IsEmpty()) vi[L"InternalName"] = m_internalName; if(!m_companyName.IsEmpty()) vi[L"CompanyName"] = m_companyName; if(!m_leagalInfo.IsEmpty()) vi[L"LegalCopyright"] = m_leagalInfo; if(vi.Save()) { //修改成功则将版本信息保存到项目配置文件里面 CTCRunTimeManager::setTCProjFile(_T("VersionInfo"),_T("ProductName"),m_productName); CTCRunTimeManager::setTCProjFile(_T("VersionInfo"),_T("FileDescription"),m_verDesInfo); CTCRunTimeManager::setTCProjFile(_T("VersionInfo"),_T("FileVersion"),m_fileInfo); CTCRunTimeManager::setTCProjFile(_T("VersionInfo"),_T("ProductVersion"),m_productInfo); CTCRunTimeManager::setTCProjFile(_T("VersionInfo"),_T("InternalName"),m_internalName); CTCRunTimeManager::setTCProjFile(_T("VersionInfo"),_T("CompanyName"),m_companyName); CTCRunTimeManager::setTCProjFile(_T("VersionInfo"),_T("LegalCopyright"),m_leagalInfo); } } }
bool CAddDevice::GetCGI() { if (m_isONVIF) return true; CString strAddress, strPort; GetKeyinAddress(strAddress, strPort); if (m_DeviceType == MODEL_1180) { CJason jStream = m_pbk->GetStream(strAddress, strPort, m_strUserName, m_strPassword); if(jStream.isError()) return false; CJason jRs485 = m_pbk->GetRS485(strAddress, strPort, m_strUserName, m_strPassword); if(jRs485.isError()) return false; CJason jMcp = m_pbk->GetMcp(strAddress, strPort, m_strUserName, m_strPassword); if(jMcp.isError()) return false; CJason jIo = m_pbk->GetIO(strAddress, strPort, m_strUserName, m_strPassword); if(jIo.isError()) return false; CJason jNetwork = m_pbk->GetNetwork(strAddress, strPort, m_strUserName, m_strPassword); if(jNetwork.isError()) return false; CJason jInfo = m_pbk->GetInfo(strAddress, strPort, m_strUserName, m_strPassword); if(jInfo.isError()) return false; CJason jVideo = m_pbk->GetVideo(strAddress, strPort, m_strUserName, m_strPassword); if(jVideo.isError()) return false; CJason jAudio = m_pbk->GetAudio(strAddress, strPort, m_strUserName, m_strPassword); if(jAudio.isError()) return false; m_mapJason[_T("stream")] = jStream; m_mapJason[_T("rs485")] = jRs485; m_mapJason[_T("mcp")] = jMcp; m_mapJason[_T("io")] = jIo; m_mapJason[_T("network")] = jNetwork; m_mapJason[_T("info")] = jInfo; m_mapJason[_T("video")] = jVideo; m_mapJason[_T("audio")] = jAudio; } else if (m_DeviceType == MODEL_1150) { CJason jStream_Info = m_pbk->GetStream_Info(strAddress, strPort, m_strUserName, m_strPassword); if(jStream_Info.isError()) return false; CJason jVideo = m_pbk->GetVideo(strAddress, strPort, m_strUserName, m_strPassword); if(jVideo.isError()) return false; /*CJason jStream = m_pbk->GetStream(strAddress, strPort, m_strUserName, m_strPassword); if(jStream.isError()) return false;*/ CJason jRs485 = m_pbk->GetRS485(strAddress, strPort, m_strUserName, m_strPassword); if(jRs485.isError()) return false; CJason jIo = m_pbk->GetIO(strAddress, strPort, m_strUserName, m_strPassword); if(jIo.isError()) return false; CJason jNetwork = m_pbk->GetNetwork(strAddress, strPort, m_strUserName, m_strPassword); if(jNetwork.isError()) return false; CJason jInfo = m_pbk->GetCommonInfo(strAddress, strPort, m_strUserName, m_strPassword); if(jInfo.isError()) return false; CString str; CJason jprofile; jStream_Info.GetValuebyKey(_T("vprofilenum"),str); int nCount = _ttoi(str); for (int nidx = 0; nidx < nCount; nidx++) { jprofile = m_pbk->GetVideo_Profile(nidx+1, strAddress, strPort, m_strUserName, m_strPassword); if(jprofile.isError()) return false; else { str.Format(_T("video_profile%d"),nidx+1); m_mapJason[str] = jprofile; } } m_mapJason[_T("stream_info")] = jStream_Info; m_mapJason[_T("video")] = jVideo; //m_mapJason[_T("stream")] = jStream; m_mapJason[_T("rs485")] = jRs485; m_mapJason[_T("io")] = jIo; m_mapJason[_T("network")] = jNetwork; m_mapJason[_T("info")] = jInfo; } return true; }
void CLabelUI::SetAttribute(LPCTSTR pstrName, LPCTSTR pstrValue) { if( _tcscmp(pstrName, _T("align")) == 0 ) { if( _tcsstr(pstrValue, _T("left")) != NULL ) { m_uTextStyle &= ~(DT_CENTER | DT_RIGHT | DT_SINGLELINE); m_uTextStyle |= DT_LEFT; } if( _tcsstr(pstrValue, _T("center")) != NULL ) { m_uTextStyle &= ~(DT_LEFT | DT_RIGHT ); m_uTextStyle |= DT_CENTER; } if( _tcsstr(pstrValue, _T("right")) != NULL ) { m_uTextStyle &= ~(DT_LEFT | DT_CENTER | DT_SINGLELINE); m_uTextStyle |= DT_RIGHT; } } else if (_tcscmp(pstrName, _T("valign")) == 0) { if (_tcsstr(pstrValue, _T("top")) != NULL) { m_uTextStyle &= ~(DT_BOTTOM | DT_VCENTER); m_uTextStyle |= (DT_TOP | DT_SINGLELINE); } if (_tcsstr(pstrValue, _T("vcenter")) != NULL) { m_uTextStyle &= ~(DT_TOP | DT_BOTTOM); m_uTextStyle |= (DT_VCENTER | DT_SINGLELINE); } if (_tcsstr(pstrValue, _T("bottom")) != NULL) { m_uTextStyle &= ~(DT_TOP | DT_VCENTER); m_uTextStyle |= (DT_BOTTOM | DT_SINGLELINE); } } else if( _tcscmp(pstrName, _T("endellipsis")) == 0 ) { if( _tcscmp(pstrValue, _T("true")) == 0 ) m_uTextStyle |= DT_END_ELLIPSIS; else m_uTextStyle &= ~DT_END_ELLIPSIS; } else if( _tcscmp(pstrName, _T("font")) == 0 ) SetFont(_ttoi(pstrValue)); else if( _tcscmp(pstrName, _T("textcolor")) == 0 ) { if( *pstrValue == _T('#')) pstrValue = ::CharNext(pstrValue); LPTSTR pstr = NULL; DWORD clrColor = _tcstoul(pstrValue, &pstr, 16); SetTextColor(clrColor); } else if( _tcscmp(pstrName, _T("disabledtextcolor")) == 0 ) { if( *pstrValue == _T('#')) pstrValue = ::CharNext(pstrValue); LPTSTR pstr = NULL; DWORD clrColor = _tcstoul(pstrValue, &pstr, 16); SetDisabledTextColor(clrColor); } else if( _tcscmp(pstrName, _T("textpadding")) == 0 ) { RECT rcTextPadding = { 0 }; LPTSTR pstr = NULL; rcTextPadding.left = _tcstol(pstrValue, &pstr, 10); ASSERT(pstr); rcTextPadding.top = _tcstol(pstr + 1, &pstr, 10); ASSERT(pstr); rcTextPadding.right = _tcstol(pstr + 1, &pstr, 10); ASSERT(pstr); rcTextPadding.bottom = _tcstol(pstr + 1, &pstr, 10); ASSERT(pstr); SetTextPadding(rcTextPadding); } else if( _tcscmp(pstrName, _T("showhtml")) == 0 ) SetShowHtml(_tcscmp(pstrValue, _T("true")) == 0); else if( _tcscmp(pstrName, _T("enabledeffect")) == 0 ) SetEnabledEffect(_tcscmp(pstrValue, _T("true")) == 0); else if( _tcscmp(pstrName, _T("enabledluminous")) == 0 ) SetEnabledLuminous(_tcscmp(pstrValue, _T("true")) == 0); else if( _tcscmp(pstrName, _T("luminousfuzzy")) == 0 ) SetLuminousFuzzy((float)_tstof(pstrValue)); else if( _tcscmp(pstrName, _T("gradientangle")) == 0 ) SetGradientAngle(_ttoi(pstrValue)); else if( _tcscmp(pstrName, _T("enabledstroke")) == 0 ) SetEnabledStroke(_tcscmp(pstrValue, _T("true")) == 0); else if( _tcscmp(pstrName, _T("enabledshadow")) == 0 ) SetEnabledShadow(_tcscmp(pstrValue, _T("true")) == 0); else if( _tcscmp(pstrName, _T("gradientlength")) == 0 ) SetGradientLength(_ttoi(pstrValue)); else if( _tcscmp(pstrName, _T("shadowoffset")) == 0 ){ LPTSTR pstr = NULL; int offsetx = _tcstol(pstrValue, &pstr, 10); ASSERT(pstr); int offsety = _tcstol(pstr + 1, &pstr, 10); ASSERT(pstr); SetShadowOffset(offsetx,offsety); } else if( _tcscmp(pstrName, _T("textcolor1")) == 0 ) { if( *pstrValue == _T('#')) pstrValue = ::CharNext(pstrValue); LPTSTR pstr = NULL; DWORD clrColor = _tcstoul(pstrValue, &pstr, 16); SetTextColor1(clrColor); } else if( _tcscmp(pstrName, _T("textshadowcolora")) == 0 ) { if( *pstrValue == _T('#')) pstrValue = ::CharNext(pstrValue); LPTSTR pstr = NULL; DWORD clrColor = _tcstoul(pstrValue, &pstr, 16); SetTextShadowColorA(clrColor); } else if( _tcscmp(pstrName, _T("textshadowcolorb")) == 0 ) { if( *pstrValue == _T('#')) pstrValue = ::CharNext(pstrValue); LPTSTR pstr = NULL; DWORD clrColor = _tcstoul(pstrValue, &pstr, 16); SetTextShadowColorB(clrColor); } else if( _tcscmp(pstrName, _T("strokecolor")) == 0 ) { if( *pstrValue == _T('#')) pstrValue = ::CharNext(pstrValue); LPTSTR pstr = NULL; DWORD clrColor = _tcstoul(pstrValue, &pstr, 16); SetStrokeColor(clrColor); } else CControlUI::SetAttribute(pstrName, pstrValue); }
void CMainDlg::OnBnClickedButton5()//保存日记 { // TODO: 在此添加控件通知处理程序代码 UpdateData(); try { CTime current_time = CTime::GetCurrentTime(); CString str_rq = current_time.Format("%Y-%m-%d"); CString sq; sq.Format("select * from dogdiary where rq='%s'", str_rq); m_AdoConn.OnInitADOConn(); m_pRs = m_AdoConn.GetRecordSet((_bstr_t)sq); if (!m_pRs->adoEOF)//存在 { CString m_id_temp = (char*)(_bstr_t)m_pRs->GetCollect("ID"); MessageBox(m_id_temp); INT_PTR nRes; // 显示消息对话框 nRes = MessageBox(_T("当天数据已存在,是否更新?\n\n点击是表示更新\n点击否表示不更新"), _T("提醒"), MB_YESNO| MB_ICONQUESTION); if (IDYES == nRes) { try{ UpdateData(); CString sql1, sql2, sql3, sql4, sql6, sql9; int i = _ttoi(m_id_temp); if (str_lx.IsEmpty()) { MessageBox("品种不能为空"); return; } if (str_sg.IsEmpty()) { MessageBox("身高不能为空"); return; } if (str_mc.IsEmpty()) { MessageBox("毛长不能为空"); return; } if (str_tz.IsEmpty()) { MessageBox("体重不能为空"); return; } sql1.Format("update dogdiary set lx = '%s' where ID = %d", str_lx, i); sql2.Format("update dogdiary set sg = '%s' where ID = %d", str_sg, i); sql3.Format("update dogdiary set tz = '%s' where ID = %d", str_tz, i); sql4.Format("update dogdiary set rq = '%s' where ID = %d", str_rq, i); sql6.Format("update dogdiary set rj = '%s' where ID = %d", str_rj, i); sql9.Format("update dogdiary set mc = '%s' where ID = %d", str_mc, i); m_AdoConn.ExecuteSQL((_bstr_t)sql1); m_AdoConn.ExecuteSQL((_bstr_t)sql2); m_AdoConn.ExecuteSQL((_bstr_t)sql3); m_AdoConn.ExecuteSQL((_bstr_t)sql4); m_AdoConn.ExecuteSQL((_bstr_t)sql6); m_AdoConn.ExecuteSQL((_bstr_t)sql9); } catch (_com_error e) { } } } else//bucunzai { if (str_lx.IsEmpty()) { MessageBox("品种不能为空"); return; } if (str_sg.IsEmpty()) { MessageBox("身高不能为空"); return; } if (str_mc.IsEmpty()) { MessageBox("毛长不能为空"); return; } if (str_tz.IsEmpty()) { MessageBox("体重不能为空"); return; } CString sql = "select * from dogdiary"; m_AdoConn.OnInitADOConn(); m_pRs = m_AdoConn.GetRecordSet((_bstr_t)sql); m_pRs->AddNew(); m_pRs->PutCollect("lx", _variant_t(str_lx)); m_pRs->PutCollect("sg", _variant_t(str_sg)); m_pRs->PutCollect("mc", _variant_t(str_mc)); m_pRs->PutCollect("tz", _variant_t(str_tz)); m_pRs->PutCollect("rq", _variant_t(str_rq)); m_pRs->PutCollect("rj", _variant_t(str_rj)); m_pRs->Update(); MessageBox("添加记录成功!"); } } catch (_com_error e) { } }
void controlUC::setAttribute(PCWSTR pstrName, PCWSTR pstrValue) { if( _tcscmp(pstrName, L"pos") == 0 ) { RECT rcPos = { 0 }; PWSTR pstr = NULL; rcPos.left = _tcstol(pstrValue, &pstr, 10); assert(pstr); rcPos.top = _tcstol(pstr + 1, &pstr, 10); assert(pstr); rcPos.right = _tcstol(pstr + 1, &pstr, 10); assert(pstr); rcPos.bottom = _tcstol(pstr + 1, &pstr, 10); assert(pstr); SIZE szXY = {rcPos.left >= 0 ? rcPos.left : rcPos.right, rcPos.top >= 0 ? rcPos.top : rcPos.bottom}; setFixedXY(szXY); setFixedWidth(rcPos.right - rcPos.left); setFixedHeight(rcPos.bottom - rcPos.top); } else if( _tcscmp(pstrName, L"relativepos") == 0 ) { SIZE szMove,szZoom; PWSTR pstr = NULL; szMove.cx = _tcstol(pstrValue, &pstr, 10); assert(pstr); szMove.cy = _tcstol(pstr + 1, &pstr, 10); assert(pstr); szZoom.cx = _tcstol(pstr + 1, &pstr, 10); assert(pstr); szZoom.cy = _tcstol(pstr + 1, &pstr, 10); assert(pstr); setRelativePos(szMove,szZoom); } else if( _tcscmp(pstrName, L"padding") == 0 ) { RECT rcPadding = { 0 }; PWSTR pstr = NULL; rcPadding.left = _tcstol(pstrValue, &pstr, 10); assert(pstr); rcPadding.top = _tcstol(pstr + 1, &pstr, 10); assert(pstr); rcPadding.right = _tcstol(pstr + 1, &pstr, 10); assert(pstr); rcPadding.bottom = _tcstol(pstr + 1, &pstr, 10); assert(pstr); setPadding(rcPadding); } else if( _tcscmp(pstrName, L"bkcolor") == 0 || _tcscmp(pstrName, L"bkcolor1") == 0 ) { while( *pstrValue > L'\0' && *pstrValue <= L' ') pstrValue = ::CharNext(pstrValue); if( *pstrValue == L'#') pstrValue = ::CharNext(pstrValue); PWSTR pstr = NULL; DWORD clrColor = _tcstoul(pstrValue, &pstr, 16); setBkColor(clrColor); } else if( _tcscmp(pstrName, L"bordercolor") == 0 ) { if( *pstrValue == L'#') pstrValue = ::CharNext(pstrValue); PWSTR pstr = NULL; DWORD clrColor = _tcstoul(pstrValue, &pstr, 16); setBorderColor(clrColor); } else if( _tcscmp(pstrName, L"focusbordercolor") == 0 ) { if( *pstrValue == L'#') pstrValue = ::CharNext(pstrValue); PWSTR pstr = NULL; DWORD clrColor = _tcstoul(pstrValue, &pstr, 16); setFocusBorderColor(clrColor); } else if( _tcscmp(pstrName, L"bordersize") == 0 ) setBorderSize(_ttoi(pstrValue)); else if( _tcscmp(pstrName, L"borderround") == 0 ) { SIZE cxyRound = { 0 }; PWSTR pstr = NULL; cxyRound.cx = _tcstol(pstrValue, &pstr, 10); assert(pstr); cxyRound.cy = _tcstol(pstr + 1, &pstr, 10); assert(pstr); setBorderRound(cxyRound); } else if( _tcscmp(pstrName, L"width") == 0 ) setFixedWidth(_ttoi(pstrValue)); else if( _tcscmp(pstrName, L"height") == 0 ) setFixedHeight(_ttoi(pstrValue)); else if( _tcscmp(pstrName, L"minwidth") == 0 ) setMinWidth(_ttoi(pstrValue)); else if( _tcscmp(pstrName, L"minheight") == 0 ) setMinHeight(_ttoi(pstrValue)); else if( _tcscmp(pstrName, L"maxwidth") == 0 ) setMaxWidth(_ttoi(pstrValue)); else if( _tcscmp(pstrName, L"maxheight") == 0 ) setMaxHeight(_ttoi(pstrValue)); else if( _tcscmp(pstrName, L"name") == 0 ) setName(pstrValue); else if( _tcscmp(pstrName, L"text") == 0 ) setText(pstrValue); else if( _tcscmp(pstrName, L"tooltip") == 0 ) setToolTip(pstrValue); else if( _tcscmp(pstrName, L"userdata") == 0 ) setUserData(pstrValue); else if( _tcscmp(pstrName, L"enabled") == 0 ) setEnabled(_tcscmp(pstrValue, L"true") == 0); else if( _tcscmp(pstrName, L"mouse") == 0 ) setMouseEnabled(_tcscmp(pstrValue, L"true") == 0); else if( _tcscmp(pstrName, L"visible") == 0 ) setVisible(_tcscmp(pstrValue, L"true") == 0); else if( _tcscmp(pstrName, L"float") == 0 ) setFloat(_tcscmp(pstrValue, L"true") == 0); else if( _tcscmp(pstrName, L"shortcut") == 0 ) setShortcut(pstrValue[0]); else if( _tcscmp(pstrName, L"menu") == 0 ) setContextMenuUsed(_tcscmp(pstrValue, L"true") == 0); }
LRESULT WindowImplBase::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { LONG styleValue = ::GetWindowLong(*this, GWL_STYLE); styleValue &= ~WS_CAPTION; ::SetWindowLong(*this, GWL_STYLE, styleValue | WS_CLIPSIBLINGS | WS_CLIPCHILDREN); RECT rcClient; ::GetClientRect(*this, &rcClient); ::SetWindowPos(*this, NULL, rcClient.left, rcClient.top, rcClient.right - rcClient.left, \ rcClient.bottom - rcClient.top, SWP_FRAMECHANGED); m_PaintManager.Init(m_hWnd); m_PaintManager.AddPreMessageFilter(this); CDialogBuilder builder; CDuiString strResourcePath=m_PaintManager.GetResourcePath(); if (strResourcePath.IsEmpty()) { strResourcePath=m_PaintManager.GetInstancePath(); strResourcePath+=GetSkinFolder().GetData(); } m_PaintManager.SetResourcePath(strResourcePath.GetData()); switch(GetResourceType()) { case UILIB_ZIP: m_PaintManager.SetResourceZip(GetZIPFileName().GetData(), true); break; case UILIB_ZIPRESOURCE: { HRSRC hResource = ::FindResource(m_PaintManager.GetResourceDll(), GetResourceID(), _T("ZIPRES")); if( hResource == NULL ) return 0L; DWORD dwSize = 0; HGLOBAL hGlobal = ::LoadResource(m_PaintManager.GetResourceDll(), hResource); if( hGlobal == NULL ) { #if defined(WIN32) && !defined(UNDER_CE) ::FreeResource(hResource); #endif return 0L; } dwSize = ::SizeofResource(m_PaintManager.GetResourceDll(), hResource); if( dwSize == 0 ) return 0L; m_PaintManager.SetResourceZip((LPBYTE)::LockResource(hGlobal), dwSize); #if defined(WIN32) && !defined(UNDER_CE) ::FreeResource(hResource); #endif } break; } CControlUI* pRoot=NULL; if (GetResourceType()==UILIB_RESOURCE) { STRINGorID xml(_ttoi(GetSkinFile().GetData())); pRoot = builder.Create(xml, _T("xml"), this, &m_PaintManager); } else pRoot = builder.Create(GetSkinFile().GetData(), (UINT)0, this, &m_PaintManager); ASSERT(pRoot); if (pRoot==NULL) { MessageBox(NULL,_T("加载资源文件失败"),_T("Duilib"),MB_OK|MB_ICONERROR); ExitProcess(1); return 0; } m_PaintManager.AttachDialog(pRoot); m_PaintManager.AddNotifier(this); m_PaintManager.SetBackgroundTransparent(TRUE); InitWindow(); return 0; }
void CClientDlg::OnBnClickedStart() { CString strAddress; CString strPort; CString strTestTimes; CString strTestInterv; CString strSocketCount; CString strDataLen; m_Address.GetWindowText(strAddress); m_Port.GetWindowText(strPort); m_TestTimes.GetWindowText(strTestTimes); m_TestInterv.GetWindowText(strTestInterv); m_SocketCount.GetWindowText(strSocketCount); m_DataLen.GetWindowText(strDataLen); m_strAddress = strAddress.Trim(); m_usPort = (USHORT)_ttoi(strPort); m_iTestTimes = _ttoi(strTestTimes); m_iTestInterv = _ttoi(strTestInterv); m_iSocketCount = _ttoi(strSocketCount); m_iDataLen = _ttoi(strDataLen); if(!CheckParams()) return; SetAppState(ST_STARTING); m_dwBeginTickCount = 0; m_dwTimeconsuming = 0; m_llTotalReceived = 0; m_llTotalSent = 0; m_llExpectReceived = (LONGLONG)m_iTestTimes * (LONGLONG)m_iSocketCount * (LONGLONG)m_iDataLen; m_vtClients.Clear(); for(int i = 0; i < m_iSocketCount; i++) { smart_simple_ptr<CTcpClientPtr> pSocket = new CTcpClientPtr(this); if((*pSocket)->Start(m_strAddress, m_usPort)) m_vtClients->push_back(pSocket.release()); else { ::LogClientStartFail((*pSocket)->GetLastError(), (*pSocket)->GetLastErrorDesc()); m_vtClients.Clear(); SetAppState(ST_STOPED); return; } } ::LogClientStart(m_strAddress, m_usPort); DWORD dwSendDelay = 3; CString strMsg; strMsg.Format(_T(" *** willing to send data after %d seconds ..."), dwSendDelay); ::LogMsg(strMsg); ::WaitWithMessageLoop(dwSendDelay * 1000); m_sendBuffer.Malloc(m_iDataLen, true); SetAppState(ST_STARTED); ::LogMsg(_T(" *** Go Now !")); m_dwBeginTickCount = ::TimeGetTime(); BOOL bTerminated = FALSE; for(int i = 0; i < m_iTestTimes; i++) { for(int j = 0; j < m_iSocketCount; j++) { CTcpClientPtr* pSocket = m_vtClients[j]; if(!(*pSocket)->Send(m_sendBuffer, (int)m_sendBuffer.Size())) { ::LogClientSendFail(i + 1, j + 1, ::SYS_GetLastError(), ::HP_GetSocketErrorDesc(SE_DATA_SEND)); bTerminated = TRUE; break; } } if(bTerminated) break; if(m_iTestInterv > 0 && i + 1 < m_iTestTimes) ::WaitWithMessageLoop(m_iTestInterv); } m_sendBuffer.Free(); }