InitCommonControls();
InitContextMenuManager();
InitShellManager();
CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerOffice2007));
CMFCButton::EnableWindowsTheming();
class CMyListCtrl : public CMFCListCtrl
{
virtual COLORREF OnGetCellTextColor(int nRow, int nColum);
virtual COLORREF OnGetCellBkColor(int nRow, int nColum);
virtual HFONT OnGetCellFont(int nRow, int nColum, DWORD dwData = 0);
virtual int OnCompareItems(LPARAM lParam1, LPARAM lParam2, int iColumn);
public:
BOOL m_bColor;
BOOL m_bModifyFont;
};
COLORREF CMyListCtrl::OnGetCellTextColor(int nRow, int nColum)
{
if (!m_bColor)
{
return CMFCListCtrl::OnGetCellTextColor(nRow, nColum);
}
return(nRow % 2) == 0 ? RGB(128, 37, 0) : RGB(0, 0, 0);
}
COLORREF CMyListCtrl::OnGetCellBkColor(int nRow, int nColum)
{
if (!m_bColor)
{
return CMFCListCtrl::OnGetCellBkColor(nRow, nColum);
}
if (m_bMarkSortedColumn && nColum == m_iSortedColumn)
{
return(nRow % 2) == 0 ? RGB(233, 221, 229) : RGB(176, 218, 234);
}
return(nRow % 2) == 0 ? RGB(253, 241, 249) : RGB(196, 238, 254);
}
HFONT CMyListCtrl::OnGetCellFont(int nRow, int nColum, DWORD /*dwData* = 0*/)
{
if (!m_bModifyFont)
{
return NULL;
}
if (nColum == 2 &&(nRow >= 4 && nRow <= 8))
{
return afxGlobalData.fontDefaultGUIBold;
}
return NULL;
}
int CMyListCtrl::OnCompareItems(LPARAM lParam1, LPARAM lParam2, int iColumn)
{
CString strItem1 = GetItemText((int)(lParam1 < lParam2 ? lParam1 : lParam2), iColumn);
CString strItem2 = GetItemText((int)(lParam1 < lParam2 ? lParam2 : lParam1), iColumn);
if (iColumn == 0)
{
int nItem1 = _ttoi(strItem1);
int nItem2 = _ttoi(strItem2);
return(nItem1 < nItem2 ? -1 : 1);
}
else
{
int iSort = _tcsicmp(strItem1, strItem2);
return(iSort);
}
}
m_wndList.m_bColor = TRUE;
m_wndList.m_bModifyFont = TRUE;
m_wndList.SetRedraw(FALSE);
m_wndList.InsertColumn(0, _T("#"), LVCFMT_LEFT, 20);
m_wndList.InsertItem(i, str);
m_wndList.SetItemData(i, i);
m_wndList.SetItemText(i, nColumn, str);
m_wndList.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
m_wndList.EnableMarkSortedColumn();
m_wndList.SetRedraw(TRUE);
m_wndList.Invalidate();
m_wndList.UpdateWindow();
CString str = m_wndList.GetItemText(pNMItemActivate->iItem, 0);
str = m_wndList.GetItemText(pNMItemActivate->iItem, 1);
str = m_wndList.GetItemText(pNMItemActivate->iItem, 2);
CString str = m_wndList.GetItemText(m_wndList.GetNextItem(-1,LVNI_SELECTED),0);
char sBuf[255];
LVCOLUMN cl;
cl.mask = LVCF_TEXT;
cl.pszText = sBuf;
cl.cchTextMax = 255;
m_wndList.GetColumn(phdr->iItem, &cl);
CString s = cl.pszText;