示例#1
0
void PropPage::read(HWND page, Item const* items, ListItem* listItems /* = NULL */, HWND list /* = 0 */)
{
	dcassert(page != NULL);

	bool const useDef = true;
	for(Item const* i = items; i->type != T_END; i++)
	{
		switch(i->type)
		{
		case T_STR:
			if(!SettingsManager::getInstance()->isDefault(i->setting)) {
				::SetDlgItemText(page, i->itemID,
					Text::toT(settings->get((SettingsManager::StrSetting)i->setting, useDef)).c_str());
			}
			break;
		case T_INT:
			if(!SettingsManager::getInstance()->isDefault(i->setting)) {
				::SetDlgItemInt(page, i->itemID,
					settings->get((SettingsManager::IntSetting)i->setting, useDef), FALSE);
			}
			break;
		case T_BOOL:
			if(settings->getBool((SettingsManager::IntSetting)i->setting, useDef))
				::CheckDlgButton(page, i->itemID, BST_CHECKED);
			else
				::CheckDlgButton(page, i->itemID, BST_UNCHECKED);
		}
	}

	if(listItems != NULL) {
		CListViewCtrl ctrl;

		ctrl.Attach(list);
		CRect rc;
		ctrl.GetClientRect(rc);
		ctrl.SetExtendedListViewStyle(LVS_EX_LABELTIP | LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);
		ctrl.InsertColumn(0, _T("Dummy"), LVCFMT_LEFT, rc.Width(), 0);

		LVITEM lvi;
		lvi.mask = LVIF_TEXT;
		lvi.iSubItem = 0;

		for(int i = 0; listItems[i].setting != 0; i++) {
			lvi.iItem = i;
			lvi.pszText = const_cast<TCHAR*>(CTSTRING_I(listItems[i].desc));
			ctrl.InsertItem(&lvi);
			ctrl.SetCheckState(i, SettingsManager::getInstance()->getBool(SettingsManager::IntSetting(listItems[i].setting), true));
		}
		ctrl.SetColumnWidth(0, LVSCW_AUTOSIZE);
		ctrl.Detach();
	}
}
示例#2
0
LRESULT CLobbyServerdlg::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
	DlgResize_Init();
	m_serverlist.SubclassWindow(GetDlgItem(IDC_LIST1));
	m_serverlist.SetExtendedListViewStyle(LVS_EX_FULLROWSELECT);
	//m_serverlist.Create(m_hWnd, rcDefault, NULL);

	// TODO: Add your message handler code here and/or call default
	CListViewCtrl list = GetDlgItem(IDC_LIST1);
	list.InsertColumn(0, L"PSUID");
	list.InsertColumn(1, L"ServerType");
	list.InsertColumn(2, L"ServerVersion");


	for(_dword a=0; a<m_servers.Number(); a++)
	{
		stIP_LobbyNode & node = m_servers[a];
		list.InsertItem(a, ClientCommon::PSUID2Str(node.ServerID));
		list.SetItemText(a, 1, ClientCommon::GetServerDespByType(node.ServerType));
		String s;
		s.Format(L"%d", node.ServerVer);
		list.SetItemText(a, 2, s);
		
	}


//	list.SetRedraw(FALSE);
	gResizeList(list);
	
//	list.SetRedraw(TRUE);

	CenterWindow(GetParent());

	return TRUE;
}
示例#3
0
void PropPage::write(HWND page, Item const* items, ListItem* listItems /* = NULL */, HWND list /* = NULL */)
{
	dcassert(page != NULL);

	AutoArray<TCHAR> buf(SETTING_STR_MAXLEN);
	for(Item const* i = items; i->type != T_END; i++)
	{
		switch(i->type)
		{
		case T_STR:
			{
				::GetDlgItemText(page, i->itemID, buf, SETTING_STR_MAXLEN);
				settings->set((SettingsManager::StrSetting)i->setting, Text::fromT(tstring(buf)));

				break;
			}
		case T_INT:
			{
				::GetDlgItemText(page, i->itemID, buf, SETTING_STR_MAXLEN);
				settings->set((SettingsManager::IntSetting)i->setting, Text::fromT(tstring(buf)));
				break;
			}
		case T_BOOL:
			{
				if(::IsDlgButtonChecked(page, i->itemID) == BST_CHECKED)
					settings->set((SettingsManager::IntSetting)i->setting, true);
				else
					settings->set((SettingsManager::IntSetting)i->setting, false);
			}
		}
	}

	if(listItems != NULL) {
		CListViewCtrl ctrl;
		ctrl.Attach(list);

		int i;
		for(i = 0; listItems[i].setting != 0; i++) {
			SettingsManager::getInstance()->set(SettingsManager::IntSetting(listItems[i].setting), ctrl.GetCheckState(i));
		}

		ctrl.Detach();
	}
}
示例#4
0
void DumpMemoryGui::addColumnsToMemoryList(CListViewCtrl& list)
{
	list.SetExtendedListViewStyle(LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT);

	list.InsertColumn(COL_ADDRESS, L"Address", LVCFMT_CENTER);
	list.InsertColumn(COL_SIZE, L"Size", LVCFMT_CENTER);
	list.InsertColumn(COL_FILENAME, L"File", LVCFMT_LEFT);
	list.InsertColumn(COL_PESECTION, L"PE Section", LVCFMT_LEFT);

	list.InsertColumn(COL_TYPE, L"Type", LVCFMT_CENTER);
	list.InsertColumn(COL_PROTECTION, L"Protection", LVCFMT_CENTER);
	list.InsertColumn(COL_STATE, L"State", LVCFMT_CENTER);

	list.InsertColumn(COL_MAPPED_FILE, L"Mapped File", LVCFMT_LEFT);
}
示例#5
0
LRESULT CDlgUnZip::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	GetDlgItem(IDC_UNZIP_STATIC_VIDEPZIP).ShowWindow(SW_HIDE);
	GetDlgItem(IDC_UNZIP_STATIC_PERCENT).ShowWindow(SW_HIDE);
	GetDlgItem(IDC_UNZIP_PGS_PERCENT).ShowWindow(SW_HIDE);
	GetDlgItem(IDC_UNZIP_PGS_VIDEOZIP).ShowWindow(SW_HIDE);
	CProgressBarCtrl pgs1 = GetDlgItem(IDC_UNZIP_PGS_PERCENT);
	CProgressBarCtrl pgs2 = GetDlgItem(IDC_UNZIP_PGS_VIDEOZIP);
	pgs1.SetRange(0, 100);
	pgs1.SetPos(0);
	pgs2.SetRange(0, 100);
	pgs2.SetPos(0);

	//::SkinSE_SubclassWindow(m_hWnd, _T("dlg.videounzip"));
	//::SkinSE_SetLayoutMainFrame(m_hWnd);
	//::SkinSE_SubclassWindow(GetDlgItem(IDC_UNZIP_PGS_VIDEOZIP), _T("unzip.pgs.video"));
	//::SkinSE_SubclassWindow(GetDlgItem(IDC_UNZIP_PGS_PERCENT), _T("unzip.pgs.total"));
	CListViewCtrl lvZIPFile = GetDlgItem(IDC_UNZIP_LIST_VIDEOZIP);
	//lvZIPFile.SetExtendedListViewStyle(LVS_EX_CHECKBOXES|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
	lvZIPFile.SetExtendedListViewStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
	//lvZIPFile.InsertColumn(0, _T("½âѹËõ"), 0, 50);
	lvZIPFile.InsertColumn(0, _T("ÊÓƵZIPѹËõ°ü"), 0, 550);
	lvZIPFile.SetViewType(LVS_REPORT);
	int item = 0;
	for(int i=0; i<VIDEOZIP_MAX_NUMBERS; i++)
	{
		if(FALSE == g_tblVZIP[i].valid) break;
		if(TRUE == g_tblVZIP[i].unzip) continue;
		lvZIPFile.InsertItem(item, g_tblVZIP[i].name);
		//lvZIPFile.SetCheckState(item, TRUE);
		item++;
	}

	CenterWindow();

	return TRUE;
}
示例#6
0
void DumpMemoryGui::displayMemoryList(CListViewCtrl& list)
{
	int count = 0;
	WCHAR temp[20];
	list.DeleteAllItems();


	getMemoryList();

	std::vector<Memory>::const_iterator iter;

	for( iter = memoryList.begin(); iter != memoryList.end(); iter++ , count++)
	{
		swprintf_s(temp, PRINTF_DWORD_PTR_FULL, iter->address);
		list.InsertItem(count,temp);

		swprintf_s(temp, L"%08X", iter->size);
		list.SetItemText(count, COL_SIZE, temp);

		list.SetItemText(count, COL_FILENAME, iter->filename);
		list.SetItemText(count, COL_PESECTION, iter->peSection);

		if (iter->state == MEM_FREE)
		{
			list.SetItemText(count, COL_TYPE, MemoryUndefined);
		}
		else
		{
			list.SetItemText(count, COL_TYPE, getMemoryTypeString(iter->type));
		}

		if ( (iter->state == MEM_RESERVE) || (iter->state == MEM_FREE) )
		{
			list.SetItemText(count, COL_PROTECTION, MemoryUndefined);
		}
		else
		{
			list.SetItemText(count, COL_PROTECTION, getMemoryProtectionString(iter->protect));
		}
		
		list.SetItemText(count, COL_STATE, getMemoryStateString(iter->state));

		list.SetItemText(count, COL_MAPPED_FILE, iter->mappedFilename);

		list.SetItemData(count, (DWORD_PTR)&(*iter));
	}

	list.SetColumnWidth(COL_ADDRESS, LVSCW_AUTOSIZE_USEHEADER);
	list.SetColumnWidth(COL_SIZE, LVSCW_AUTOSIZE_USEHEADER);
	list.SetColumnWidth(COL_FILENAME, LVSCW_AUTOSIZE_USEHEADER);
	list.SetColumnWidth(COL_PESECTION, LVSCW_AUTOSIZE_USEHEADER);
	list.SetColumnWidth(COL_TYPE, LVSCW_AUTOSIZE_USEHEADER);
	list.SetColumnWidth(COL_PROTECTION, LVSCW_AUTOSIZE_USEHEADER);
	list.SetColumnWidth(COL_STATE, LVSCW_AUTOSIZE_USEHEADER);
	list.SetColumnWidth(COL_MAPPED_FILE, LVSCW_AUTOSIZE_USEHEADER);
}
示例#7
0
void PropPage::read(HWND page, Item const* items, ListItem* listItems /* = NULL */, HWND list /* = 0 */)
{
#ifdef _DEBUG
	m_check_read_write++;
#endif
	dcassert(page != NULL);
	
	if (items != NULL) // [+] SSA
	{
		bool const useDef = true;
		for (Item const* i = items; i->type != T_END; i++)
		{
			switch (i->type)
			{
				case T_STR:
					if (GetDlgItem(page, i->itemID) == NULL)
					{
						// Control not exist ? Why ??
						throw;
					}
					::SetDlgItemText(page, i->itemID,
					                 Text::toT(g_settings->get((SettingsManager::StrSetting)i->setting, useDef)).c_str());
					break;
				case T_INT:
				
					if (GetDlgItem(page, i->itemID) == NULL)
					{
						// Control not exist ? Why ??
						throw;
					}
					::SetDlgItemInt(page, i->itemID,
					                g_settings->get(SettingsManager::IntSetting(i->setting), useDef), FALSE);
					break;
				case T_BOOL:
					if (GetDlgItem(page, i->itemID) == NULL)
					{
						// Control not exist ? Why ??
						throw;
					}
					if (SettingsManager::getBool(SettingsManager::IntSetting(i->setting), useDef))
						::CheckDlgButton(page, i->itemID, BST_CHECKED);
					else
						::CheckDlgButton(page, i->itemID, BST_UNCHECKED);
					break;
				case T_END:
					dcassert(false);
					break;
			}
		}
	}
	if (listItems != NULL)
	{
		CListViewCtrl ctrl;
		
		ctrl.Attach(list);
		CRect rc;
		ctrl.GetClientRect(rc);
		SET_EXTENDENT_LIST_VIEW_STYLE_WITH_CHECK(ctrl);
		SET_LIST_COLOR_IN_SETTING(ctrl);
		ctrl.InsertColumn(0, _T("Dummy"), LVCFMT_LEFT, rc.Width(), 0);
		
		LVITEM lvi = {0};
		lvi.mask = LVIF_TEXT;
		lvi.iSubItem = 0;
		
		for (int i = 0; listItems[i].setting != 0; i++)
		{
			lvi.iItem = i;
			lvi.pszText = const_cast<TCHAR*>(CTSTRING_I(listItems[i].desc));
			ctrl.InsertItem(&lvi);
			ctrl.SetCheckState(i, SettingsManager::getBool(SettingsManager::IntSetting(listItems[i].setting), true));
		}
		ctrl.SetColumnWidth(0, LVSCW_AUTOSIZE);
		ctrl.Detach();
	}
}
示例#8
0
void PropPage::write(HWND page, Item const* items, ListItem* listItems /* = NULL */, HWND list /* = NULL */)
{
#ifdef _DEBUG
	m_check_read_write--;
#endif
	dcassert(page != NULL);
	
	bool l_showUserWarning = false;// [+] IRainman
	
	if (items != NULL) // [+] SSA
	{
		for (Item const* i = items; i->type != T_END; ++i)
		{
			tstring buf;
			switch (i->type)
			{
				case T_STR:
				{
					WinUtil::GetDlgItemText(page, i->itemID, buf);
					l_showUserWarning |= g_settings->set(SettingsManager::StrSetting(i->setting), Text::fromT(buf));// [!] IRainman
					// Crash https://crash-server.com/Problem.aspx?ClientID=ppa&ProblemID=78416
					break;
				}
				case T_INT:
				{
					WinUtil::GetDlgItemText(page, i->itemID, buf);
					l_showUserWarning |= g_settings->set(SettingsManager::IntSetting(i->setting), Util::toInt(buf));// [!] IRainman
					break;
				}
				case T_BOOL:
				{
					if (GetDlgItem(page, i->itemID) == NULL)
					{
						// Control not exist ? Why ??
						dcassert(0);
						throw;
					}
					if (::IsDlgButtonChecked(page, i->itemID) == BST_CHECKED)
						l_showUserWarning |= g_settings->set(SettingsManager::IntSetting(i->setting), true);// [!] IRainman
					else
						l_showUserWarning |= g_settings->set((SettingsManager::IntSetting)i->setting, false);// [!] IRainman
					break;
				}
				case T_END:
					dcassert(0);
					break;
			}
		}
	}
	
	if (listItems != NULL)
	{
		CListViewCtrl ctrl;
		ctrl.Attach(list);
		
		for (int i = 0; listItems[i].setting != 0; i++)
		{
			l_showUserWarning |= SET_SETTING(IntSetting(listItems[i].setting), ctrl.GetCheckState(i));// [!] IRainman
		}
		
		ctrl.Detach();
	}
#ifdef _DEBUG
	if (l_showUserWarning)
	{
		MessageBox(page, _T("Values of the changed settings are automatically adjusted"), CTSTRING(WARNING), MB_OK);
	}
#endif
}
示例#9
0
void PropPage::read(HWND page, Item const* items, ListItem* listItems /* = NULL */, HWND list /* = 0 */)
{
#if DIM_EDIT_EXPERIMENT
	CDimEdit *tempCtrl;
#endif
	dcassert(page != NULL);

	bool const useDef = true;
	for(Item const* i = items; i->type != T_END; i++)
	{
		switch(i->type)
		{
		case T_STR:
#if DIM_EDIT_EXPERIMENT
			tempCtrl = new CDimEdit;
			if (tempCtrl) {
				tempCtrl->SubclassWindow(GetDlgItem(page, i->itemID));
				tempCtrl->SetDimText(settings->get((SettingsManager::StrSetting)i->setting, true));
				tempCtrl->SetDimColor(RGB(192, 192, 192));
				ctrlMap[i->itemID] = tempCtrl;
			}
#endif
				if (GetDlgItem(page, i->itemID) == NULL) {
					// Control not exist ? Why ??
					throw;
				}
				::SetDlgItemText(page, i->itemID,
				Text::toT(settings->get((SettingsManager::StrSetting)i->setting, useDef)).c_str());
			break;
		case T_INT:

				if (GetDlgItem(page, i->itemID) == NULL) {
					// Control not exist ? Why ??
					throw;
				}
				::SetDlgItemInt(page, i->itemID,
					settings->get((SettingsManager::IntSetting)i->setting, useDef), FALSE);
			break;
		case T_INT64:
			if(!SettingsManager::getInstance()->isDefault(i->setting)) {
				tstring s = Util::toStringW(settings->get((SettingsManager::Int64Setting)i->setting, useDef));
				::SetDlgItemText(page, i->itemID, s.c_str());
			}
			break;
		case T_BOOL:
			if (GetDlgItem(page, i->itemID) == NULL) {
				// Control not exist ? Why ??
				throw;
			}
			if(settings->getBool((SettingsManager::IntSetting)i->setting, useDef))
				::CheckDlgButton(page, i->itemID, BST_CHECKED);
			else
				::CheckDlgButton(page, i->itemID, BST_UNCHECKED);
		}
	}

	if(listItems != NULL) {
		CListViewCtrl ctrl;

		ctrl.Attach(list);
		CRect rc;
		ctrl.GetClientRect(rc);
		ctrl.SetExtendedListViewStyle(LVS_EX_LABELTIP | LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT | LVS_EX_DOUBLEBUFFER);
		ctrl.InsertColumn(0, _T("Dummy"), LVCFMT_LEFT, rc.Width(), 0);

		LVITEM lvi = {0};
		lvi.mask = LVIF_TEXT;
		lvi.iSubItem = 0;

		for(int i = 0; listItems[i].setting != 0; i++) {
			lvi.iItem = i;
			lvi.pszText = const_cast<TCHAR*>(CTSTRING_I(listItems[i].desc));
			ctrl.InsertItem(&lvi);
			ctrl.SetCheckState(i, SettingsManager::getInstance()->getBool(SettingsManager::IntSetting(listItems[i].setting), true));
		}
		ctrl.SetColumnWidth(0, LVSCW_AUTOSIZE);
		ctrl.Detach();
	}
}
示例#10
0
void PropPage::write(HWND page, Item const* items, ListItem* listItems /* = NULL */, HWND list /* = NULL */)
{
	dcassert(page != NULL);

	tstring buf;

	for(Item const* i = items; i->type != T_END; i++)
	{
		switch(i->type)
		{
		case T_STR:
			{
				if (GetDlgItem(page, i->itemID) == NULL) {
					// Control not exist ? Why ??
					throw;
				}
				buf.resize(SETTING_STR_MAXLEN);
				buf.resize(::GetDlgItemText(page, i->itemID, &buf[0], SETTING_STR_MAXLEN));
				settings->set((SettingsManager::StrSetting)i->setting, Text::fromT(buf));
#if DIM_EDIT_EXPERIMENT
				if (ctrlMap[i->itemID]) {
					ctrlMap[i->itemID]->UnsubclassWindow();
					delete ctrlMap[i->itemID];
					ctrlMap.erase(i->itemID);
				}
#endif
				break;
			}
		case T_INT:
			{
				if (GetDlgItem(page, i->itemID) == NULL) {
					// Control not exist ? Why ??
					throw;
				}
				buf.resize(SETTING_STR_MAXLEN);
				buf.resize(::GetDlgItemText(page, i->itemID, &buf[0], SETTING_STR_MAXLEN));
				settings->set((SettingsManager::IntSetting)i->setting, Util::toInt(Text::fromT(buf)));
				break;
			}
		case T_INT64:
			{
				buf.resize(SETTING_STR_MAXLEN);
				buf.resize(::GetDlgItemText(page, i->itemID, &buf[0], SETTING_STR_MAXLEN));
				settings->set((SettingsManager::Int64Setting)i->setting, Text::fromT(buf));
				break;
			}
		case T_BOOL:
			{
				if (GetDlgItem(page, i->itemID) == NULL) {
					// Control not exist ? Why ??
					throw;
				}
				if(::IsDlgButtonChecked(page, i->itemID) == BST_CHECKED)
					settings->set((SettingsManager::IntSetting)i->setting, true);
				else
					settings->set((SettingsManager::IntSetting)i->setting, false);
			}
		}
	}

	if(listItems != NULL) {
		CListViewCtrl ctrl;
		ctrl.Attach(list);

		int i;
		for(i = 0; listItems[i].setting != 0; i++) {
			SettingsManager::getInstance()->set(SettingsManager::IntSetting(listItems[i].setting), ctrl.GetCheckState(i));
		}

		ctrl.Detach();
	}
}