Example #1
0
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);
		}
	}		
}
Example #2
0
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);
	}
}
Example #3
0
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();
		}
	}
}
Example #6
0
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();
		}
	}
}
Example #7
0
//안태훈 수정 끝	//(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
}
Example #9
0
//-----------------------------------------------------------------------------
// 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;
}
Example #10
0
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
}
Example #11
0
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
}
Example #12
0
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;
}
Example #13
0
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);
	}
}