FTP中的一段代码,组合诓中的驱动器是怎样实现的?

GUOYU90337 2006-10-18 03:09:32

void CMyFTPClientDlg::GetLocDir()
{
int iIcon,iIconSel;
char lpBuffer[MAX_PATH];
char* ptr;
CString str;
m_iDirCount=0;
::GetLogicalDriveStrings(MAX_PATH,lpBuffer);
ptr=lpBuffer;
while(*ptr)
{
m_iDirCount++;
str=ptr;
GetFileIcon(str,&iIcon,&iIconSel);
InsertLocDir(str,iIcon,iIconSel);
ptr+=strlen(ptr)+1;
}
}


int CMyFTPClientDlg::InsertLocDir(CString &str, int iIcon, int iIconSel)
{
int nItem=m_ctrlLocal.GetCount();
COMBOBOXEXITEM Combo;
Combo.mask=CBEIF_IMAGE|CBEIF_TEXT|CBEIF_SELECTEDIMAGE;
Combo.iImage=iIcon;
Combo.iSelectedImage=iIconSel;
Combo.pszText=(LPTSTR)(LPCTSTR)str;
Combo.iItem=nItem;
m_ctrlLocal.InsertItem(&Combo);
return 中已经;
}
这段代码是ftp中组合框获取本地驱动器的,我照着想把他单独提取出来,调试可以获得。但我使用vc中的组合框控件却无法显示出驱动器。这是为什么?ftp客户端中的本地文件列表中的组合框有不同吗?
...全文
97 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cleverwyq 2006-10-18
  • 打赏
  • 举报
回复
因为你没有指定要显示的imagelist

Add member :
CImageList imgList;

在初始化函数中
imgList.Create(16,16,ILC_COLOR8,1,8);
imgList.Add(m_hIcon);
imgList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
。。。。。。。。add any number of icons
m_ctrlLocal.SetImageList(&imgList);
cleverwyq 2006-10-18
  • 打赏
  • 举报
回复
GetFileIcon是如何定义的

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧