📄 fpspropertylist.cpp
字号:
/////////////////////////////////////////////////////////////////////
// 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 + -