MFC listcontrol ÏÔʾϵͳͼ±ê
µÚÒ»´Î´ò¿ª×Ó¶Ô»°¿òÄܹ»ÏÔʾϵͳͼ±ê£¬¹ØÁ˶Ի°¿òºóÔÙ´ò¿ª¾Í²»ÄÜÏÔʾÁË¡£ÇëÎÊ´óÏÀÃÇ£¬ÕâÊÇÔõô»ØÊ£¬°³ÊÇÒµÓàµÄ¡£¡£¶à¶àÖ¸µã°¡¡£¡£ÏÂÃæÊDz¿·Ö´úÂë...
BOOL CfilesDlg::OnInitDialog()
{
CDialog::OnInitDialog();
/*m_list1.SetHeaderTextColor(RGB(0,0,0)); //ÉèÖÃÍ·²¿×ÖÌåÑÕÉ«
m_list1.SetHeaderBKColor(100,255,100,8); //ÉèÖÃÍ·²¿±³¾°É«
m_list1.SetHeaderFontHW(12,0); //ÉèÖÃÍ·²¿×ÖÌå¸ß¶È,ºÍ¿í¶È,0±íʾȱʡ£¬×ÔÊÊÓ¦ */
CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST1);
pListCtrl->SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
m_list1.InsertColumn(1,_T("ÎļþÃû"),LVCFMT_CENTER,340);
m_list1.InsertColumn(2,_T("Îļþ´óС"),LVCFMT_CENTER,80);
m_list1.InsertColumn(3,_T("ID"),LVCFMT_CENTER,0);
m_list1.SetBkColor(RGB(188,197,230));
m_list1.SetTextColor(RGB(0,0,0));
m_list1.SetTextBkColor(RGB(188,197,230));
m_button1.SetBkColor(RGB(188,197,230));
m_button1.SetRounded(TRUE);
m_button2.SetBkColor(RGB(188,197,230));
m_button2.SetRounded(TRUE);
m_button8.SetBkColor(RGB(188,197,230));
m_button8.SetRounded(TRUE);
m_clrBkgnd = RGB(188,197,230);
m_brBkgnd.CreateSolidBrush(m_clrBkgnd);
if (!m_tooltip.Create(this, TTS_ALWAYSTIP))
{
TRACE(_T("Unable To create ToolTip\n"));
return FALSE;
}
m_tooltip.SetTipTextColor(RGB(0,0,255));//font color
m_tooltip.SetDelayTime(150);//delay time
//m_tooltip.AddTool(GetDlgItem(IDC_PARTINFO),_T("this is button"));
m_tooltip.AddTool(GetDlgItem(IDC_BUTTON1),_T("ÕâÊÇÒ»¸ö°´Å¥"));
HIMAGELIST himlSmall;
HIMAGELIST himlLarge;
SHFILEINFO sfi;
char cSysDir[MAX_PATH];
CString strBuf;
memset(cSysDir,0,MAX_PATH);
GetWindowsDirectory(cSysDir,MAX_PATH);
strBuf = cSysDir;
sprintf(cSysDir,"%s",strBuf.Left(strBuf.Find("\")+1));
himlSmall = (HIMAGELIST)SHGetFileInfo((LPCSTR)cSysDir,0,&sfi,sizeof(SHFILEINFO),SHGFI_SYSICONINDEX|SHGFI_SMALLICON);
himlLarge = (HIMAGELIST)SHGetFileInfo((LPCSTR)cSysDir,0,&sfi,sizeof(SHFILEINFO),SHGFI_SYSICONINDEX|SHGFI_LARGEICON);
if(himlSmall && himlLarge)
{
::SendMessage(m_list1.m_hWnd,LVM_SETIMAGELIST,(WPARAM)LVSIL_SMALL,(LPARAM)himlSmall);
::SendMessage(m_list1.m_hWnd,LVM_SETIMAGELIST,(WPARAM)LVSIL_SMALL,(LPARAM)himlLarge);//LVSIL_NORMAL
}
m_list1.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
readallinfo();
return 0; // return TRUE unless you set the focus to a control
}
void CfilesDlg::readallinfo()
{
CString strSQL;
int g =button_logo;
int open_logo;
switch(g)
{
case 1:
open_logo =button_logo+3;
break;
case 2:
open_logo =button_logo+3;
break;
case 3:
open_logo =button_logo+3;
break;
}
//³õʼ»¯ListCtrl
CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST1);
pListCtrl->DeleteAllItems();
openbiao(open_logo);
if(m_pRecordset->BOF)
{
//closebiao();/////////////////¹Ø±ÕÁ¬½Ó////////////////////
return;
}
pListCtrl->SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
m_pRecordset->MoveFirst();
double length;
int n = 0;
while (!m_pRecordset->isEOF)
{
_variant_t varValue;
int strNumber = NULL;
int strLength = NULL;
int strID = NULL;
CString strFile = _T("");
varValue = m_pRecordset->GetCollect(_variant_t(_T("ÐòºÅ")));
if (varValue.vt != VT_NULL)
{
strNumber = varValue.lVal;
}
else
{
strNumber = NULL;
}
varValue = m_pRecordset->GetCollect(_variant_t(_T("Îļþ´óС")));
if (varValue.vt != VT_NULL)
{
strLength = varValue.lVal;
length =(double)(strLength/1024.0/1024.0);
}
else
{
strLength = NULL;
}
varValue = m_pRecordset->GetCollect(_variant_t(_T("ÎļþÃû")));
if (varValue.vt != VT_NULL)
{
strFile = varValue.bstrVal;
}
else
{
strFile = _T("");
}
int gg =0;
char *filename = (LPSTR)(LPCTSTR)strFile;
char name[64];
for(int g=0;filename[g]!='\0';g++)
{
if(filename[g] == '.')
{
for(;filename[g]!='\0';g++,gg++)
{
name[gg] = filename[g];
}
name[gg] = '\0';
break;
}
}
CString strText = "";
m_list1.InsertItem(n,strFile,GetIconIndex(name,false,false));
strText.Format("%.2fM", length);
m_list1.SetItemText(n, 1, strText);
strText.Format("%d", strNumber);
m_list1.SetItemText(n, 2, strText);
n++;
m_pRecordset->MoveNext();
}
closebiao(); /////////////////¹Ø±ÕÁ¬½Ó////////////////////
}
int CfilesDlg::GetIconIndex(LPCTSTR lpszPath, BOOL bIsDir, BOOL bSelected)
{
SHFILEINFO sfi;
memset(&sfi, 0, sizeof(sfi));
if(bIsDir)
{
SHGetFileInfo(lpszPath,FILE_ATTRIBUTE_DIRECTORY,&sfi,sizeof(sfi),SHGFI_SMALLICON|SHGFI_SYSICONINDEX|SHGFI_USEFILEATTRIBUTES|(bSelected ? SHGFI_OPENICON : 0));
return sfi.iIcon;
}
else
{
SHGetFileInfo(lpszPath,FILE_ATTRIBUTE_NORMAL,&sfi,sizeof(sfi),SHGFI_SMALLICON|SHGFI_SYSICONINDEX|SHGFI_USEFILEATTRIBUTES|(bSelected ? SHGFI_OPENICON : 0));
return sfi.iIcon;
}
return -1;
} MFC
[½â¾ö°ì·¨]
ÄãÏÔʾͼ±êÊÇÔÚOnInitDialog£¬ÓпÉÄÜÊÇÄã¶Ô»°¿òû¹Øµô£¬
Äã¹Ø±Õ×Ó¶Ô»°¿òµÄ´úÂëÌùÏ£¬Èç¹ûÿ´Î¶¼Óе÷ÓÃOnInitDialog£¬Ó¦¸ÃÊÇ»áÏÔʾµÄ
[½â¾ö°ì·¨]
CListCtrl &RightList=pRight->GetListCtrl();
// set list style
LONG NewStyle=GetWindowLong(RightList.GetSafeHwnd(),GWL_STYLE);
NewStyle=(NewStyle & 0xFFFF0000)
[½â¾ö°ì·¨]
LVS_REPORT
[½â¾ö°ì·¨]
LVS_EDITLABELS
[½â¾ö°ì·¨]
LVS_SHOWSELALWAYS
[½â¾ö°ì·¨]
LVS_SHAREIMAGELISTS;
//
[½â¾ö°ì·¨]
LVS_SINGLESEL
[½â¾ö°ì·¨]
LVS_SORTASCENDING;
[½â¾ö°ì·¨]
LVS_AUTOARRANGE
SetWindowLong(RightList.GetSafeHwnd(),GWL_STYLE,NewStyle);
ϵͳ image ²»ÄÜɾ³ýµÄ