void CCustomizeToolbar::OnMoveUp() { // TODO: Add your control notification handler code here POSITION pos = m_curbtn.GetFirstSelectedItemPosition(); if(pos!=NULL) { int i = m_curbtn.GetNextSelectedItem(pos); int id; id = m_curbtn.GetItemData(i); if(id>=0 && i>0) { m_curbtn.DeleteItem(i); if (g_nToolBarText[id]>0) { LOADSTR(str ,g_nToolBarText[id]); m_curbtn.InsertItem(i-1, str.Right(str.GetLength()-str.Find('\n')-1), g_nToolBarImg[id]); m_curbtn.SetItemData(i-1, id); } else { LOADSTR(str ,IDS_SEPARATOR); m_curbtn.InsertItem(i-1, str, -1); m_curbtn.SetItemData(i-1, id); } LIST_FOCUS_POS(m_curbtn,i-1); } } }
void CCustomizeToolbar::OnRemove() { // TODO: Add your control notification handler code here int j; POSITION pos = m_curbtn.GetFirstSelectedItemPosition(); if(pos!=NULL) { int i = m_curbtn.GetNextSelectedItem(pos); int id; id = m_curbtn.GetItemData(i); if(id>=0) { j = m_avabtn.GetItemCount(); if(id!=1) //not a separator { LOADSTR(str ,g_nToolBarText[id]); m_avabtn.InsertItem(j, str.Right(str.GetLength()-str.Find('\n')-1), g_nToolBarImg[id]); m_avabtn.SetItemData(j, id); m_curbtn.DeleteItem(i); } else { m_curbtn.DeleteItem(i); } m_curbtn.EnsureVisible(i, TRUE); } // LIST_FOCUS_POS(m_curbtn,i); } }
void CCustomizeToolbar::OnAdd() { // TODO: Add your control notification handler code here int j; POSITION pos = m_avabtn.GetFirstSelectedItemPosition(); if(pos!=NULL) { int i = m_avabtn.GetNextSelectedItem(pos); int id; id = m_avabtn.GetItemData(i); //get current selected item in curbtns POSITION pos1 = m_curbtn.GetFirstSelectedItemPosition(); if(pos1!=NULL) { j = m_curbtn.GetNextSelectedItem(pos1); } else j = m_curbtn.GetItemCount()-1; if(i>0) { LOADSTR(str ,g_nToolBarText[id]); m_curbtn.InsertItem(j, str.Right(str.GetLength()-str.Find('\n')-1), g_nToolBarImg[id]); m_curbtn.SetItemData(j, id); m_avabtn.DeleteItem(i); } else { LOADSTR(str ,IDS_SEPARATOR); m_curbtn.InsertItem(j, str, -1); m_curbtn.SetItemData(j, 1); } m_curbtn.EnsureVisible(j, TRUE); // LIST_FOCUS_POS(m_avabtn,i); } }
//Devuelve el numero de areas validas en este fichero //nValidAreaCount indica el area total actual. Se debe incrementar. La primera area es 0 int ProcesarFichero(CString csFichero, FILE* salida,int& nValidAreaCount, int& num_bandas_param) { // lee todas las variables del fichero y las guarda en variables globales if ( LoadVars((LPCTSTR)csFichero) == NULL) { return 0; } CString csMuestra; char* muestra; muestra = csMuestra.GetBuffer(100); LOADSTR(muestra); csMuestra.ReleaseBuffer(-1); int num_areas; LOADINT(num_areas); int num_bandas = -1; LOADINT(num_bandas); //devuelve -1 si no encontrado // SOPORTE A DATS ANTIGUOS if (num_bandas == -1) { int num_espectros = -1; LOADINT(num_espectros); //devuelve -1 si no encontrado num_bandas = num_espectros; } num_bandas_param = num_bandas; int campo; LOADINT(campo); int fila; LOADINT(fila); for (int i=0; i <num_areas; i++) { char strCount[3]; itoa(i+1,strCount,10); // convertir contador a string nValidAreaCount++; // primera area es 1 ProcesarArea(strCount, num_bandas, salida, nValidAreaCount, csMuestra, campo, fila); //recuperamos y actualizamos datos } return num_areas; }
void CWebFileOpenDlg::OnBrowse() { // TODO: Add your control notification handler code here CString str; LOADSTR(str ,IDS_TYPE_OPENFILE); CFileDialog fileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, str); if(fileDlg.DoModal() == IDOK) { m_conAddress.GetEditCtrl()->SetWindowText(fileDlg.GetPathName()); UpdateData(TRUE); // if (m_bDirectOpenFile) { if (m_strAddress.GetLength()) CDialog::OnOK(); } } }
void CCollectorDlg::OnCollectorSave() { CString txt; m_edit->GetWindowText(txt); if(txt.IsEmpty()) return; //CFileDialog dlg(0); CString str; LOADSTR(str ,IDS_TYPE_COLLECTOR); CFileDialog dlg(FALSE, "txt", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, str); if (dlg.DoModal()==IDOK) { CFile f; if(f.Open(dlg.GetPathName(), CFile::modeCreate|CFile::modeWrite|CFile::shareDenyNone)) { f.Write((void*)(LPCSTR)txt, txt.GetLength()); f.Close(); } } }
//안태훈 수정 끝 //(Open beta)(2004-11-29) //----------------------------------------------------------------------------- // Purpose: // Input : &apSkillData - // FileName - // Output : int //----------------------------------------------------------------------------- int CSkill::LoadSkillDataFromFile(CStaticArray<CSkill> &apSkillData, const char* FileName) { FILE *fp = NULL; if ((fp = fopen(FileName, "rb")) == NULL) { MessageBox(NULL, "File is not Exist.", "error!", MB_OK); return -1; } // [2012/07/18 : Sora] 파일 보안코드 추가 CFileSecure fs; if( !fs.DecodeFile( fp ) ) { return -1; } fflush(fp); int i, j, k, iWeapon; int iLastSkillIndex = 0; //스킬 갯수. int iLength = -1; int iReadBytes = 0; iReadBytes = fread(&iLastSkillIndex, sizeof(int), 1, fp); apSkillData.New(iLastSkillIndex); ASSERT(apSkillData.Count() >= iLastSkillIndex && "Invalid Array Count");//여기서 걸리면 고정된 개수의 스킬수 초과한것임. 더 늘릴것.(스킬은 고정배열 사용) ASSERT(iLastSkillIndex > 0 && "Invalid Skill Data"); ////////////////////////////////////////////////////////////////////////// // MACRO DEFINITION ////////////////////////////////////////////////////////////////////////// #define LOADINT(d) iReadBytes = fread(&d, sizeof(int), 1, fp); #define LOADSHORT(d) iReadBytes = fread(&d, sizeof(short), 1, fp); #define LOADCHAR(d) iReadBytes = fread(&d, sizeof(char), 1, fp); #define LOADFLOAT(d) iReadBytes = fread(&d, sizeof(float), 1, fp); #define LOADSTR(d) { int iLen; LOADINT(iLen); iReadBytes = fread(&d, iLen, 1, fp); } ////////////////////////////////////////////////////////////////////////// CUIManager* pUIManager = CUIManager::getSingleton(); for( i = 0; i < iLastSkillIndex; i++) //스킬 갯수만큼. { int iIndex = 1; //스킬번호. LOADINT(iIndex); if( fs.IsEndCode( iIndex ) ) // [2012/07/18 : Sora] 파일 end break; if(iReadBytes <= 0) break; // EOF ASSERT(iIndex != -1 && "Invalid Skill Index"); CSkill& SkillData = apSkillData[iIndex]; _SkillData& SD = SkillData.Skill_Data; SD.index = iIndex; // 일반 LOADINT(SD.job); LOADINT(SD.job2); LOADINT(SD.petindex); LOADCHAR(SD.type); LOADINT(SD.flag); LOADINT(SD.sorcerer); LOADCHAR(SD.maxLevel); // 거리 LOADFLOAT(SD.appRange); LOADFLOAT(SD.fireRange); LOADFLOAT(SD.fireRange2); // 타겟 LOADCHAR(SD.targetType); if( SD.targetType == STT_TARGET_ONE || SD.targetType == STT_TARGET_RANGE || SD.targetType == STT_PARTY_ONE || SD.targetType == STT_TARGET_D120 || SD.targetType == STT_TARGET_RECT || SD.targetType == STT_GUILD_ONE) { SkillData.bNeedTarget = TRUE; } // LOADCHAR(SD.targetNum); // 사용조건 LOADINT(SD.useState); LOADINT(SD.useWeaponType0); LOADINT(SD.useWeaponType1); LOADINT(SD.useMagicIndex1); LOADCHAR(SD.useMagicLevel1); LOADINT(SD.useMagicIndex2); LOADCHAR(SD.useMagicLevel2); LOADINT(SD.useMagicIndex3); LOADCHAR(SD.useMagicLevel3); LOADINT(SD.useSoulCount); // 적용조건 LOADINT(SD.appState); // 시간 LOADINT(SD.readyTime); LOADINT(SD.waitTime); LOADINT(SD.fireTime); LOADINT(SD.reuseTime); for( iWeapon = 0; iWeapon < WEAPON_COUNT; ++iWeapon ) { // 시전 LOADSTR(SD.client[iWeapon].readyAni); LOADSTR(SD.client[iWeapon].readyEffect1); // 정지 LOADSTR(SD.client[iWeapon].stillAni); // 발사 LOADSTR(SD.client[iWeapon].fireAni); LOADSTR(SD.client[iWeapon].fireEffect1); LOADSTR(SD.client[iWeapon].fireEffect2); LOADSTR(SD.client[iWeapon].fireEffect3); // 발사체 LOADCHAR(SD.client[iWeapon].fireobjType); LOADFLOAT(SD.client[iWeapon].fireobjSpeed); LOADFLOAT(SD.client[iWeapon].fireobjX); LOADFLOAT(SD.client[iWeapon].fireobjZ); LOADFLOAT(SD.client[iWeapon].fireobjH); LOADCHAR(SD.client[iWeapon].fireobjCoord); LOADCHAR(SD.client[iWeapon].fireobjDelayCount); LOADFLOAT(SD.client[iWeapon].fireobjDelay[0]); LOADFLOAT(SD.client[iWeapon].fireobjDelay[1]); LOADFLOAT(SD.client[iWeapon].fireobjDelay[2]); LOADFLOAT(SD.client[iWeapon].fireobjDelay[3]); // vector 할당 없이 정렬 가능. [2/17/2011 rumist] std::sort( (SD.client[iWeapon]).fireobjDelay, (SD.client[iWeapon]).fireobjDelay + SD.client[iWeapon].fireobjDelayCount ); LOADFLOAT(SD.client[iWeapon].fireobjDestDelay); } // After Effect ZeroMemory(SD.After_AttachEffect, 256); LOADSTR(SD.After_AttachEffect); // 아이콘 LOADINT(SD.client_icon_texid); LOADINT(SD.client_icon_row); LOADINT(SD.client_icon_col); for( j = 0; j < SD.maxLevel;++j) { _SkillLevel SL; LOADINT(SL.needHP); LOADINT(SL.needMP); LOADINT(SL.needGP); LOADINT(SL.durtime); LOADINT(SL.dummyPower); LOADINT(SL.needItemIndex1); LOADINT(SL.needItemCount1); LOADINT(SL.needItemIndex2); LOADINT(SL.needItemCount2); LOADINT(SL.learnLevel); LOADINT(SL.learnSP); for( k = 0; k < 3; k++ ) { LOADINT(SL.learnSkillIndex[k]); LOADCHAR(SL.learnSkillLevel[k]); } for( k = 0; k < 3; k++ ) { LOADINT(SL.learnItemIndex[k]); LOADINT(SL.learnItemCount[k]); } // 050401 edit by cpp2angel LOADINT(SL.learnStr); LOADINT(SL.learnDex); LOADINT(SL.learnInt); LOADINT(SL.learnCon); LOADINT(SL.appMagicIndex1); LOADCHAR(SL.appMagicLevel1); LOADINT(SL.appMagicIndex2); LOADCHAR(SL.appMagicLevel2); LOADINT(SL.appMagicIndex3); LOADCHAR(SL.appMagicLevel3); LOADINT(SL.magicIndex1); LOADCHAR(SL.magicLevel1); LOADINT(SL.magicIndex2); LOADCHAR(SL.magicLevel2); LOADINT(SL.magicIndex3); LOADCHAR(SL.magicLevel3); // WSS_NEW_GUILD_SYSTEM 070716 --------------------->> LOADINT(SL.learnGP); // -------------------------------------------------<< // 속성 시스템 스킬 속성 정보 LOD에 추가[1/21/2013 Ranma]>> LOADCHAR(SL.attratt); LOADCHAR(SL.attrattLv); LOADCHAR(SL.attrdef); LOADCHAR(SL.attrdefLv); LOADINT(SL.targetmax); // -------------------------------------------------<< SkillData.m_vectorSkillLevels.push_back(SL); } if(SkillData.GetType() == ST_MAGIC && ( (SkillData.GetJob() == HEALER) || (SkillData.GetJob() == MAGE) || (SkillData.GetJob() == ROGUE) || (SkillData.GetJob() == SORCERER) || (SkillData.GetJob() == NIGHTSHADOW) || #ifdef CHAR_EX_ROGUE (SkillData.GetJob() == EX_ROGUE) || // [2012/08/27 : Sora] EX로그 추가 #endif #ifdef CHAR_EX_MAGE (SkillData.GetJob() == EX_MAGE) || //2013/01/08 jeil EX 메이지 추가 #endif (SkillData.GetFlag() & SF_GUILD ))) { SkillData.bCanCancel = TRUE; } for( iWeapon = 0; iWeapon < WEAPON_COUNT; ++iWeapon ) { SkillData.idPlayer_Anim_Skill[iWeapon][0] = ska_GetIDFromStringTable(SD.client[iWeapon].readyAni); SkillData.idPlayer_Anim_Skill[iWeapon][1] = ska_GetIDFromStringTable(SD.client[iWeapon].stillAni); SkillData.idPlayer_Anim_Skill[iWeapon][2] = ska_GetIDFromStringTable(SD.client[iWeapon].fireAni); } if(iReadBytes <= 0) { fclose(fp); return -1; } } fclose(fp); ////////////////////////////////////////////////////////////////////////// #undef LOADINT #undef LOADCHAR #undef LOADFLOAT #undef LOADSTR return iLastSkillIndex; }
BOOL CGroupSelectDlg::OnInitDialog() { #ifdef _WRITE_LNG_FILE_ _WriteDlgString(this,"DialogGroupSelect"); this->OnCancel(); return TRUE; #endif LOADDLG("DialogGroupSelect"); CDialog::OnInitDialog(); m_list.SetExtendedStyle(m_list.GetExtendedStyle()| LVS_EX_FULLROWSELECT|LVS_EX_CHECKBOXES|LVS_EX_HEADERDRAGDROP|LVS_EX_GRIDLINES); m_list.SetBkColor(GetSysColor(COLOR_WINDOW)); //setup list ctrl CRect rect; m_list.GetWindowRect(&rect); CString str; LOADSTR(str ,IDS_NAME); m_list.InsertColumn(0, str); m_list.SetColumnWidth(0, 150); LOADSTR(str ,IDS_URL); m_list.InsertColumn(1, str); m_list.SetColumnWidth(1, rect.Width()-180); // m_list.SetFocus(); // TODO: Add extra initialization here try{ CChildFrame* tcf; int n = pmf->m_wndTab.GetItemCount(); pmf->m_nWin = n; TCITEM TabCtrlItem; TabCtrlItem.mask = TCIF_PARAM; for( int i=0; i<n; i++) { pmf->m_wndTab.GetItem(i, &TabCtrlItem); tcf = ((CChildFrame*)TabCtrlItem.lParam); if(tcf != NULL && tcf->m_pView!=NULL) { if(!tcf->m_pView->m_lpszUrl.IsEmpty() && !tcf->m_pView->m_bToClose) { m_list.InsertItem(i,tcf->m_strTitle); m_list.SetItemText(i,1,tcf->m_pView->m_lpszUrl); m_list.SetItemData(i,tcf->m_pView->m_dwProperty);//DEFAULT_PROPERTY); } } } OnSelectAll(); //load group list CString strMenu; for (i=0; i<=pmf->m_astrGroup.GetUpperBound(); i++) { strMenu = pmf->m_astrGroup.GetAt(i); strMenu = strMenu.Left(strMenu.GetLength()-4); m_name.InsertString(i, strMenu); } OnGetTime(); m_name.SetFocus(); }catch(...){} return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
//----------------------------------------------------------------------------- // Purpose: // Input : &apShopData - // FileName - // Output : int //----------------------------------------------------------------------------- int CShopData::LoadShopDataFromFile(CStaticArray<CShopData> &apShopData, const char* FileName) { FILE *fp = NULL; if ((fp = fopen(FileName, "rb")) == NULL) { MessageBox(NULL, "File is not Exist.", "error!", MB_OK); return -1; } int iNumOfShop = 0; int iLength = 0; int iReadBytes = 0; int iLastIndex = 0; //iReadBytes = fread(&iNumOfShop, sizeof(int), 1, fp); // SHOP 데이터의 갯수. iReadBytes = fread(&iLastIndex, sizeof(int), 1, fp); // SHOP의 마지막 인덱스. apShopData.New(iLastIndex); ASSERT(apShopData.Count() > 0 && "Invalid SHOP Data"); ASSERT(iLastIndex > 0 && "Invalid SHOP Data"); ////////////////////////////////////////////////////////////////////////// // MACRO DEFINITION ////////////////////////////////////////////////////////////////////////// #define LOADINT(d) iReadBytes = fread(&d, sizeof(int), 1, fp); #define LOADSHORT(d) iReadBytes = fread(&d, sizeof(short), 1, fp); #define LOADCHAR(d) iReadBytes = fread(&d, sizeof(char), 1, fp); #define LOADFLOAT(d) iReadBytes = fread(&d, sizeof(float), 1, fp); #define LOADSTR(d) { int iLen; LOADINT(iLen); iReadBytes = fread(&d, iLen, 1, fp); } ////////////////////////////////////////////////////////////////////////// for(int i = 0; i < iLastIndex; ++i) { int iIndex = -1; LOADINT(iIndex); if(iReadBytes <= 0) break; CShopData& SD = apShopData[iIndex]; TShopData& ShopData = SD.m_ShopData; ShopData.iIndex = iIndex; int iItemCount = 0; LOADSTR(ShopData.szShopName); LOADINT(ShopData.iSellRate); LOADINT(ShopData.iBuyRate); LOADINT(iItemCount); SD.m_iNumOfItem = iItemCount; ASSERT(iItemCount > 0 && "Invalid Item Count!!!"); SD.m_vectorSellItems.resize(iItemCount); iReadBytes = fread(&SD.m_vectorSellItems[0], sizeof(int), iItemCount, fp); // SHOP이 판매하는 아이템의 갯수. if(iReadBytes < 0) { MessageBox(NULL, "SHOP 데이터 화일이 올바르지 않습니다.", "Error!", MB_OK); fclose(fp); return -1; } } fclose(fp); ////////////////////////////////////////////////////////////////////////// #undef LOADINT #undef LOADCHAR #undef LOADFLOAT #undef LOADSTR return iLastIndex; }
BOOL CCustomizeToolbar::OnInitDialog() { CDialog::OnInitDialog(); //must after OnInitDialog, for the combo string LOADDLG("DialogCustomize"); m_avabtn.SetExtendedStyle(m_avabtn.GetExtendedStyle()| LVS_EX_FULLROWSELECT); m_curbtn.SetExtendedStyle(m_curbtn.GetExtendedStyle()| LVS_EX_FULLROWSELECT); int n=0; CImageList img; img.Create(24, 24, ILC_COLORDDB|ILC_MASK, 40, 1); HBITMAP hbmp = pmf->GetBitmap("MainTool24.bmp"); ImageList_AddMasked(img.GetSafeHandle(), hbmp, RGB(255,0,255)); DeleteObject(hbmp); m_avabtn.SetImageList(&img, LVSIL_SMALL); img.Detach(); LOADSTR(str ,IDS_SEPARATOR); CRect rect; m_avabtn.InsertColumn(0,""); m_avabtn.GetWindowRect(rect); m_avabtn.SetColumnWidth(0, rect.Width()-25); m_avabtn.InsertItem(0, str, -1); m_avabtn.SetItemData(0, 1); int nMaxBtn = BUTTON_COUNT;//sizeof(g_nToolBarID)/sizeof(UINT); n=1; for(int i=0; i<nMaxBtn; i++) { if(g_nToolBarID[i]!=0) { LOADSTR(str ,g_nToolBarText[i]); m_avabtn.InsertItem(n, str.Right(str.GetLength()-str.Find('\n')-1), g_nToolBarImg[i]); m_avabtn.SetItemData(n, i); n++; } } img.Create(24, 24, ILC_COLORDDB|ILC_MASK, 40, 1); hbmp = pmf->GetBitmap("MainTool24.bmp"); ImageList_AddMasked(img.GetSafeHandle(), hbmp, RGB(255,0,255)); DeleteObject(hbmp); m_curbtn.SetImageList(&img, LVSIL_SMALL); img.Detach(); m_curbtn.InsertColumn(0,""); m_curbtn.GetWindowRect(rect); m_curbtn.SetColumnWidth(0, rect.Width()-25); int ids[50], idx=0, id; char tmp[6]; tmp[0]='B'; id=0;idx=0; while(idx<nMaxBtn && id!=-1) { itoa(idx,tmp+1,10); id = (int)AfxGetApp()->GetProfileInt("ToolBar", tmp, -5); if(id==-5) ids[idx] = idx; else if(id>=nMaxBtn) ids[idx] = 1;//add a seprate else ids[idx]=id; idx++; } LVFINDINFO info; int index; n=0; for(i=0; i<idx; i++) { itoa(i,tmp+1,10); id = ids[i]; if(id>=0 && id<nMaxBtn) { if(g_nToolBarText[id]>0) { LOADSTR(str ,g_nToolBarText[id]); m_curbtn.InsertItem(n, str.Right(str.GetLength()-str.Find('\n')-1), g_nToolBarImg[id]); m_curbtn.SetItemData(n, id); //delete from available list info.flags = LVFI_PARAM; info.lParam = id; index=m_avabtn.FindItem(&info); if(index != -1) { m_avabtn.DeleteItem(index); } } else { LOADSTR(str ,IDS_SEPARATOR); m_curbtn.InsertItem(n, str, -1); m_curbtn.SetItemData(n, 1); } n++; } else if(id>=nMaxBtn) continue; else break; } m_curbtn.InsertItem(n, " ", -1); m_curbtn.SetItemData(n, -1); LIST_FOCUS_POS(m_curbtn,n); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
BOOL CCollectorDlg::OnInitDialog() { #ifdef _WRITE_LNG_FILE_ _WriteDlgString(this,"DialogCollector"); this->OnCancel(); return TRUE; #endif LOADDLG("DialogCollector"); CDialog::OnInitDialog(); m_txt.SetLimitText(MAX_COLLECTOR); m_output.SetLimitText(MAX_COLLECTOR); m_script.SetLimitText(MAX_COLLECTOR); if (!m_ToolBar.CreateEx(this)) { TRACE0("Failed to create toolbar\n"); return -1; // fail to create } // set up toolbar properties CImageList img; img.Create(16, 16, ILC_COLORDDB|ILC_MASK, 8, 1); HBITMAP hbmp = ::LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_COLLECTOR_TOOL)); ImageList_AddMasked(img.GetSafeHandle(), hbmp, RGB(255,0,255)); DeleteObject(hbmp); m_ToolBar.GetToolBarCtrl().SetImageList(&img); img.Detach(); // m_ToolBar.SetButtons(NULL, 12); m_ToolBar.ModifyStyle(0, TBSTYLE_FLAT | TBSTYLE_TRANSPARENT| TBSTYLE_TOOLTIPS ); m_ToolBar.ModifyStyleEx(0, WS_EX_TOOLWINDOW); m_ToolBar.SetBarStyle(m_ToolBar.GetBarStyle() | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_FIXED); // set up each toolbar button CString str; LOADSTR(str ,ID_COLLECTOR_TXT); m_ToolBar.SetButtonInfo(0, ID_COLLECTOR_TXT, TBSTYLE_BUTTON, 0); m_ToolBar.GetToolBarCtrl().GetToolTips()->UpdateTipText(str, &m_ToolBar, ID_COLLECTOR_TXT); LOADSTR(str ,ID_COLLECTOR_OUTPUT); m_ToolBar.SetButtonInfo(1, ID_COLLECTOR_OUTPUT, TBSTYLE_BUTTON, 1); m_ToolBar.GetToolBarCtrl().GetToolTips()->UpdateTipText(str, &m_ToolBar, ID_COLLECTOR_OUTPUT); LOADSTR(str ,ID_COLLECTOR_SCRIPT); m_ToolBar.SetButtonInfo(2, ID_COLLECTOR_SCRIPT, TBSTYLE_BUTTON, 2); m_ToolBar.GetToolBarCtrl().GetToolTips()->UpdateTipText(str, &m_ToolBar, ID_COLLECTOR_SCRIPT); m_ToolBar.SetButtonInfo(3, 0, TBSTYLE_SEP, 0); LOADSTR(str ,ID_COLLECTOR_SAVE); m_ToolBar.SetButtonInfo(4, ID_COLLECTOR_SAVE, TBSTYLE_BUTTON, 4); m_ToolBar.GetToolBarCtrl().GetToolTips()->UpdateTipText(str, &m_ToolBar, ID_COLLECTOR_SAVE); LOADSTR(str ,ID_COLLECTOR_CLEAR); m_ToolBar.SetButtonInfo(5, ID_COLLECTOR_CLEAR, TBSTYLE_BUTTON, 3); m_ToolBar.GetToolBarCtrl().GetToolTips()->UpdateTipText(str, &m_ToolBar, ID_COLLECTOR_CLEAR); m_ToolBar.SetButtonInfo(6, 0, TBSTYLE_SEP, 0); LOADSTR(str ,ID_COLLECTOR_TRANS); m_ToolBar.SetButtonInfo(7, ID_COLLECTOR_TRANS, TBSTYLE_BUTTON, 5); m_ToolBar.GetToolBarCtrl().GetToolTips()->UpdateTipText(str, &m_ToolBar, ID_COLLECTOR_TRANS); m_ToolBar.SetButtonInfo(8, 0, TBSTYLE_SEP, 0); LOADSTR(str ,ID_RUN_SCRIPT); m_ToolBar.SetButtonInfo(9, ID_RUN_SCRIPT, TBSTYLE_BUTTON, 6); m_ToolBar.GetToolBarCtrl().GetToolTips()->UpdateTipText(str, &m_ToolBar, ID_RUN_SCRIPT); LOADSTR(str ,ID_OPEN_SELECTED_TEXT); m_ToolBar.SetButtonInfo(10, ID_OPEN_SELECTED_TEXT, TBSTYLE_BUTTON, 7); m_ToolBar.GetToolBarCtrl().GetToolTips()->UpdateTipText(str, &m_ToolBar, ID_OPEN_SELECTED_TEXT); LOADSTR(str ,ID_OPEN_CURSOR_LINE); m_ToolBar.SetButtonInfo(11, ID_OPEN_CURSOR_LINE, TBSTYLE_BUTTON, 8); m_ToolBar.GetToolBarCtrl().GetToolTips()->UpdateTipText(str, &m_ToolBar, ID_OPEN_CURSOR_LINE); m_nOldMode = 255; if (pmf->m_nCollectorTrans<255) CollectorTrans(pmf->m_nCollectorTrans); m_edit = 0; OnCollectorTxt(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
BOOL CTxtDropTarget::OnDrop(CWnd* pWnd, COleDataObject* pDataObject, DROPEFFECT dropEffect, CPoint point) { try{ CString strMsg; // HGLOBAL hData=pDataObject->GetGlobalData(CF_TEXT); if (hData) { LPCSTR lpcszData=(LPCSTR)GlobalLock(hData); GlobalUnlock(hData); //if it is a link HGLOBAL hLinkData=pDataObject->GetGlobalData(RegisterClipboardFormat("FileGroupDescriptor")); LPCSTR lpcszLink; if(hLinkData) { lpcszLink=((LPCSTR)GlobalLock(hLinkData)) + 76; strMsg = lpcszLink; strMsg = strMsg.Left(strMsg.GetLength()-4);//cut .url of abc.url strMsg += " => "; strMsg += lpcszData; GlobalUnlock(hLinkData); } else strMsg += lpcszData; strMsg += "\r\n"; SaveText(strMsg, 0); } else { hData=pDataObject->GetGlobalData(CF_HDROP); if (!hData) { TRACE("Fail in getting data\n"); MSGBOX(IDS_NOT_DROP_IMG); return FALSE; } HDROP hdrop =(HDROP)GlobalLock(hData); DragQueryFile(hdrop, 0, g_szFile, 1024); GlobalUnlock(hData); CString filename, rfile; filename = g_szFile; int l = filename.ReverseFind('\\'); filename = filename.Mid(l+1); //fix filename, remove [x] l = filename.ReverseFind('['); int i = filename.ReverseFind(']'); CString ext = filename.Mid(i+1); filename = filename.Left(l); //? CString imgPath = ((CVeryIEApp*)AfxGetApp())->m_strImagePath; if(pmf->m_bImgCateWithSite) { CString site; CChildFrame* tcf = (CChildFrame*)pmf->MDIGetActive(); site = tcf->m_pView->m_lpszUrl; pmf->GetSiteName(site); imgPath = imgPath + site + "\\"; } //create dir _CreateFullDir(imgPath); filename = imgPath + filename; //compare file size DWORD sz1=0, sz2=0; HANDLE hfile = INVALID_HANDLE_VALUE; hfile = CreateFile(g_szFile, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if(hfile != INVALID_HANDLE_VALUE) sz1 = GetFileSize(hfile, NULL); CloseHandle(hfile); hfile = INVALID_HANDLE_VALUE; hfile = CreateFile(filename+ext, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if(hfile != INVALID_HANDLE_VALUE) sz2 = GetFileSize(hfile, NULL); CloseHandle(hfile); rfile = filename + ext; if (sz1==0)//img not show { MSGBOX(IDS_SAVEIMAGEFAIL); return TRUE; } else if (sz1==sz2)//exist the same file { LOADSTR(strMsg ,IDS_IMG_EXISTED); strMsg += rfile; pmf->SetMessageText(strMsg);//SaveText(strMsg,13); return TRUE; } else if(sz1!=sz2 && sz2!=0) { char tmp[4]; l = 0; HFILE hf; OFSTRUCT of; hf = OpenFile(rfile, &of, OF_EXIST); while(hf!=HFILE_ERROR) { l++; rfile = filename; rfile += '['; itoa(l, tmp, 10); rfile += tmp; rfile += ']'; rfile += ext; hf = OpenFile(rfile, &of, OF_EXIST); } } //copy files if(!CopyFile(g_szFile, rfile, FALSE)) { DWORD dwError = GetLastError(); if(dwError == ERROR_PATH_NOT_FOUND) MSGBOX(IDS_SAVEIMAGEFAIL); } else { LOADSTR(strMsg ,IDS_IMG_SAVE_TO); strMsg += rfile; // CChildFrame* tcf = (CChildFrame*)pmf->MDIGetActive(); strMsg += " <= "; strMsg += tcf->m_pView->m_lpszUrl; // SaveText(strMsg,13); } } }catch(...){} return TRUE; }
void CProxyCategory::LoadProxies() { char *tmp = NULL; m_ProxyCategory.RemoveAll(); CString filename = theApp.m_strUser+"Proxy.ini"; TCHAR buf[1024]; CProxyList* pl; CProxyItem *pi; CString wp; CString wpn; int rlens = ::GetPrivateProfileString("Proxy", "CategoryName", _T(""), buf, 1024, filename); if(rlens>0) { //load new one char Keyname1[11] = "proxy", Keyname2[11] = "speed", Keyname3[11] = "alias"; int sp, i, l=1; char Section[10]="Proxy"; do{ i=1; sp = ::GetPrivateProfileInt(Section, "speed1", 3, filename); ::GetPrivateProfileString(Section, "alias1", _T(""), buf, 1024, filename); wpn = buf; ::GetPrivateProfileString(Section, "proxy1", _T(""), buf, 1024, filename); wp = buf; pl = new CProxyList; while(wp != "" && !wp.IsEmpty()) { pi = new CProxyItem; pi->m_nProxySpeed = sp; pi->m_strProxy = wp; pi->m_strProxyName = wpn; pl->m_Proxies.Add(pi); i++; itoa(i, Keyname1+5, 10); itoa(i, Keyname2+5, 10); itoa(i, Keyname3+5, 10); sp = ::GetPrivateProfileInt(Section, Keyname2, 3, filename); ::GetPrivateProfileString(Section, Keyname3, _T(""), buf, 1024, filename); wpn = buf; ::GetPrivateProfileString(Section, Keyname1, _T(""), buf, 1024, filename); wp = buf; } ::GetPrivateProfileString(Section, "ProxyByPass", pmf->m_strProxyByPass, buf, 1024, filename); pl->m_strProxyByPass = buf; pl->m_bIsWebProxy = ::GetPrivateProfileInt(Section, "ProxyType", 0, filename); pl->m_bIsTransProxy = ::GetPrivateProfileInt(Section, "Translation", 0, filename); ::GetPrivateProfileString(Section, "CategoryName", NULL,buf, 1024, filename); pl->m_strCategoryName = buf; m_ProxyCategory.Add(pl); itoa(l, Section+5, 10); l++; rlens = ::GetPrivateProfileString(Section, "CategoryName", NULL,buf, 1024, filename); }while(rlens>0); } if(GetWebProxyList()==NULL) { CString str; LOADSTR(str ,IDS_WEB_PROXY); pl = new CProxyList; pl->m_strProxyByPass = ""; pl->m_bIsWebProxy = TRUE; pl->m_strCategoryName = str; m_ProxyCategory.Add(pl); } if(GetWebProxyList(TRUE)==NULL) { CString str; LOADSTR(str ,IDS_TRANS_PROXY); pl = new CProxyList; pl->m_strProxyByPass = ""; pl->m_bIsWebProxy = TRUE; pl->m_bIsTransProxy = TRUE; pl->m_strCategoryName = str; m_ProxyCategory.Add(pl); } if(GetProxyServerList()==NULL) { CString str; LOADSTR(str ,IDS_PROXY_SERVER); pl = new CProxyList; pl->m_strProxyByPass = "******"; pl->m_bIsWebProxy = FALSE; pl->m_bIsTransProxy = FALSE; pl->m_strCategoryName = str; m_ProxyCategory.Add(pl); } }