VC++6.0 请问如何把TXT里的内容 在COMBO BOX中 按行显示出来

我现在有一个TXT文档叫aaa.txt里面存放的数据一共有多行比如第一行123第二行456第三行789如何点击COMBOBOX的下拉箭头后这些数据在下拉的列表中按行显示出... 我现在有一个TXT文档叫aaa.txt 里面存放的数据 一共有多行 比如第一行123 第二行456 第三行789 如何点击COMBO BOX的下拉箭头后 这些数据在下拉的列表中 按行显示出来? 悬赏100分 展开
 我来答
gy1号
2012-02-28 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:82
采纳率:0%
帮助的人:93.6万
展开全部
//参数 Filename 为要读的文件名,如:read.txt 。
//ctrlCombox 为一CComboBox 控件,即要用来把文件内容显示到CComboBox 的控件。
//使用举例:CComboBox m_ctrlCOMBOX; //定义一控件。
// ReadFileToCOMBOX("ddd.txt",m_ctrlCOMBOX); 即可.
void ReadFileToCOMBOX(char * Filename,CComboBox & ctrlCombox)
{
ctrlCombox.ResetContent();
FILE *fp=fopen(Filename,"r");
if(fp == NULL)
return ;
char buf[256];
CString strcom;
int index;
while(!feof(fp))
{
memset(buf, 0, 256);
fgets(buf, 256, fp);

//去掉最后一个字符,可能是换行符
index=strlen(buf);
if(index>0)
{
if(buf[index-1]=='\n' || buf[index-1]=='\r')
buf[index-1]=0x00;
}
strcom.Empty();
strcom.Format("%s",buf);
strcom.TrimLeft(" "); //去掉左右空格,所一行全是空格,则不显示
//
strcom.TrimRight(" ");
if(!strcom.IsEmpty())
{
ctrlCombox.AddString(strcom);
}

}
int count =ctrlCombox.GetCount();
if(count>0)
ctrlCombox.SetCurSel(0);
fclose(fp);
}
liuxinling_06
2012-02-28 · TA获得超过1289个赞
知道小有建树答主
回答量:345
采纳率:100%
帮助的人:423万
展开全部
SendMessage(GetDlgItem(hWnd,IDC_COMBO),CB_INSERTSTRING,0,(LPARAM)(_T("123")));
SendMessage(GetDlgItem(hWnd,IDC_COMBO),CB_INSERTSTRING,1,(LPARAM)(_T("456")));
SendMessage(GetDlgItem(hWnd,IDC_COMBO),CB_INSERTSTRING,2,(LPARAM)(_T("789")));
SendMessage(GetDlgItem(hWnd,IDC_COMBO),CB_INSERTSTRING,3,(LPARAM)(_T("abc")));

以上代码:hWnd换成你COMBO BOX主窗口的窗口,IDC_COMBO换成你COMBO BOX的ID,0,1,2,3这些是序号,换成你读出的行数,(LPARAM)(_T("123"))这样的换成你从txt读出的数据。
追问
谢谢 但是我之前不知道我TXT里面存的是什么内容 只知道TXT里面有东西 要在COMBO BOX多行显示出来 所以不能直接设置好123 456 这些内容的 如何自动读取呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式