⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fpspropertylist.cpp

📁 visual c++ 实例编程
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
void CFPSPropertyList::RedrawWindow()
{
	CClientDC dc (this);

	RedrawWindow(&dc);
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::Create(DWORD dwStyle, const RECT & rect, CWnd * pParentWnd, UINT nID, CCreateContext * pContext)
{
	return Create(NULL, NULL, dwStyle, rect, pParentWnd, nID, pContext);
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::RemoveItem(DWORD dwItemID)
{
	CFPSPropertyListItem* pEntry = GetItemByID(dwItemID);

	if (pEntry)
	{
		POSITION Pos = m_nItemList.Find(pEntry);
		if (Pos)
		{
			m_nItemList.RemoveAt(Pos);
			delete pEntry;
			return TRUE;
		}
		return FALSE;
	}
	else
	{
		return FALSE;
	}
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
CFPSPropertyListItem* CFPSPropertyList::GetItemByName(LPCSTR lpszName)
{
	POSITION CurrentPos;
	CFPSPropertyListItem* pEntry;
	BOOL bFound = FALSE;

	CurrentPos = GetFirstItemPosition();
	while (CurrentPos != NULL && !bFound)
	{
		pEntry = GetNextItem(CurrentPos);
		if (pEntry->m_strName == lpszName)
			bFound = TRUE;
	}

	if (bFound)
		return pEntry;

	return NULL;

}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::GetItemValue(DWORD dwID, CString & strValue)
{
	CFPSPropertyListItem* pItem = GetItemByID(dwID);
	if (!pItem)	return FALSE;

	strValue = pItem->GetTextValue();

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::GetItemValue(LPCSTR lpszName, CString & strValue)
{
	CFPSPropertyListItem* pItem = GetItemByName(lpszName);
	if (!pItem)	return FALSE;

	strValue = pItem->GetTextValue();

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::GetItemValue(DWORD dwID, COLORREF & Value)
{
	CFPSPropertyListItem* pItem = GetItemByID(dwID);
	if (!pItem)
		return FALSE;

	Value = pItem->GetColorValue();

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::GetItemValue(LPCSTR lpszName, COLORREF & Value)
{
	CFPSPropertyListItem* pItem = GetItemByName(lpszName);
	if (!pItem)
		return FALSE;

	Value = pItem->GetColorValue();

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::GetItemValue(DWORD dwID, LOGFONT & Value)
{
	CFPSPropertyListItem* pItem = GetItemByID(dwID);
	if (!pItem)	return FALSE;

	Value = pItem->GetFontValue();

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::GetItemValue(LPCSTR lpszName, LOGFONT & Value)
{
	CFPSPropertyListItem* pItem = GetItemByName(lpszName);
	if (!pItem)
		return FALSE;

	Value = pItem->GetFontValue();

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::GetItemValue(DWORD dwID, long & lValue)
{
	CFPSPropertyListItem* pItem = GetItemByID(dwID);
	if (!pItem)
		return FALSE;

	lValue = pItem->GetLongValue();

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::GetItemValue(LPCSTR lpszName, long & lValue)
{
	CFPSPropertyListItem* pItem = GetItemByName(lpszName);
	if (!pItem)
		return FALSE;

	lValue = pItem->GetLongValue();

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::GetItemValue(DWORD dwID, int & iValue)
{
	CFPSPropertyListItem* pItem = GetItemByID(dwID);
	if (!pItem)
		return FALSE;

	iValue = pItem->GetIntegerValue();

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::GetItemValue(LPCSTR lpszName, int & iValue)
{
	CFPSPropertyListItem* pItem = GetItemByName(lpszName);
	if (!pItem)	return FALSE;

	iValue = pItem->GetIntegerValue();

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
DWORD CFPSPropertyList::AddItem(LPCSTR lpszName, DWORD dwType, DWORD dwData)
{
	PROPERTYITEMSETUP	ItemInfo;

	ItemInfo.strName = lpszName;
	ItemInfo.dwType = dwType;
	ItemInfo.dwData = dwData;
	ItemInfo.lLongValue = 0;
	ItemInfo.iIntegerValue = 0;
	ItemInfo.bAllowComboEdit = FALSE;
	ItemInfo.bFileOpenDialog = TRUE;
	ItemInfo.bBoolValue = FALSE;
	ItemInfo.ColorValue = RGB(0, 0, 0);
	ItemInfo.FontValue.lfHeight = 80;
	ItemInfo.FontValue.lfWidth = 0;
	ItemInfo.FontValue.lfEscapement = 0;
	ItemInfo.FontValue.lfOrientation = 0;
	ItemInfo.FontValue.lfWeight = 400;
	ItemInfo.FontValue.lfItalic = FALSE;
	ItemInfo.FontValue.lfUnderline = FALSE;
	ItemInfo.FontValue.lfStrikeOut = FALSE;
	ItemInfo.FontValue.lfCharSet = ANSI_CHARSET;
	ItemInfo.FontValue.lfOutPrecision = OUT_DEFAULT_PRECIS;
	ItemInfo.FontValue.lfClipPrecision = OUT_DEFAULT_PRECIS;
	ItemInfo.FontValue.lfQuality = PROOF_QUALITY;
	ItemInfo.FontValue.lfPitchAndFamily = DEFAULT_PITCH;
	strcpy(ItemInfo.FontValue.lfFaceName, "Arial");

	return AddItem(&ItemInfo);
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::IsItemVisible(DWORD dwItem)
{
	CFPSPropertyListItem* pItem = GetItemByID(dwItem);
	if (!pItem)	return FALSE;

	return pItem->IsVisible();
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::IsItemVisible(LPCSTR lpszName)
{
	CFPSPropertyListItem* pItem = GetItemByName(lpszName);
	if (!pItem)
		return FALSE;

	return pItem->IsVisible();
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::GetItemRect(DWORD dwItem, CRect & rect)
{
	CFPSPropertyListItem* pItem = GetItemByID(dwItem);
	if (!pItem)	return FALSE;

	rect = pItem->m_nItemRect;

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::GetItemRect(LPCSTR lpszName, CRect & rect)
{
	CFPSPropertyListItem* pItem = GetItemByName(lpszName);
	if (!pItem)
		return FALSE;

	rect = pItem->m_nItemRect;

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::SetItemValue(DWORD dwID, LPCSTR lpszValue)
{
	CFPSPropertyListItem* pItem = GetItemByID(dwID);
	if (!pItem)
		return FALSE;

	pItem->m_strTextValue = lpszValue;

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::SetItemValue(LPCSTR lpszName, LPCSTR lpszValue)
{
	CFPSPropertyListItem* pItem = GetItemByName(lpszName);
	if (!pItem)
		return FALSE;

	pItem->m_strTextValue = lpszValue;

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::SetItemValue(DWORD dwID, long lValue)
{
	CFPSPropertyListItem* pItem = GetItemByID(dwID);
	if (!pItem)	return FALSE;

	pItem->m_lLongValue = lValue;

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::SetItemValue(LPCSTR lpszName, long lValue)
{
	CFPSPropertyListItem* pItem = GetItemByName(lpszName);
	if (!pItem)
		return FALSE;

	pItem->m_lLongValue = lValue;

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::SetItemValue(DWORD dwID, int iValue)
{
	CFPSPropertyListItem* pItem = GetItemByID(dwID);
	if (!pItem)	return FALSE;

	pItem->m_iIntegerValue = iValue;

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::SetItemValue(LPCSTR lpszName, int iValue)
{
	CFPSPropertyListItem* pItem = GetItemByName(lpszName);
	if (!pItem)
		return FALSE;

	pItem->m_iIntegerValue = iValue;

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::SetItemValue(DWORD dwID, LOGFONT Value)
{
	CFPSPropertyListItem* pItem = GetItemByID(dwID);
	if (!pItem)	return FALSE;

	pItem->m_nFontValue = Value;

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::SetItemValue(LPCSTR lpszName, LOGFONT Value)
{
	CFPSPropertyListItem* pItem = GetItemByName(lpszName);
	if (!pItem)	return FALSE;

	pItem->m_nFontValue = Value;

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::SetItemValue(DWORD dwID, COLORREF Value)
{
	CFPSPropertyListItem* pItem = GetItemByID(dwID);
	if (!pItem)	return FALSE;

	pItem->m_nColorValue = Value;

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::SetItemValue(LPCSTR lpszName, COLORREF Value)
{
	CFPSPropertyListItem* pItem = GetItemByName(lpszName);
	if (!pItem)	return FALSE;

	pItem->m_nColorValue = Value;

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
void CFPSPropertyList::SetTextColor(COLORREF NewColor)
{
	POSITION CurrentPos;
	CFPSPropertyListItem* pEntry;

	CurrentPos = GetFirstItemPosition();
	while (CurrentPos != NULL)
	{
		pEntry = GetNextItem(CurrentPos);
		pEntry->SetTextColor(NewColor);
	}

	m_nTextColor = NewColor;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
void CFPSPropertyList::SetBackColor(COLORREF NewColor)
{
	POSITION CurrentPos;
	CFPSPropertyListItem* pEntry;

	CurrentPos = GetFirstItemPosition();
	while (CurrentPos != NULL)
	{
		pEntry = GetNextItem(CurrentPos);
		pEntry->SetBackColor(NewColor);
	}

	m_nBackColor = NewColor;
}


/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::SetItemValueList(DWORD dwID, CStringList & ValueList)
{
	CFPSPropertyListItem* pItem = GetItemByID(dwID);
	if (!pItem)	return FALSE;

	pItem->m_nComboItemList.AddTail(&ValueList);

	return TRUE;
}

/////////////////////////////////////////////////////////////////////
//					APPLICATION FUNCTION
/////////////////////////////////////////////////////////////////////
BOOL CFPSPropertyList::SetItemValueList(LPCSTR lpszName, CStringList & ValueList)
{
	CFPSPropertyListItem* pItem = GetItemByName(lpszName);
	if (!pItem)	return FALSE;

	pItem->m_nComboItemList.AddTail(&ValueList);

	return TRUE;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -