...
现在程序执行到了这里.已知1:有一个变量 CString str; 他的值就是指定打开的某个文本文件的所有文本内容,当然内容肯定有很多的行。已经2:现准备好了一个下拉列表框,可以用如下的代码来往你里面加列表项。 CMainFrame *pFrame =(CMainFrame*)AfxGetApp()->m_pMainWnd;
pFrame->m_wndEditBar.m_SearchBox.InsertString(-1, "项目参照...");
pFrame->m_wndEditBar.m_SearchBox.InsertString(-1, "第二个");
pFrame->m_wndEditBar.m_SearchBox.SetCurSel(0);我想做的是: 让程序在 str 里找到如下的一行(这行应该是以DEFINE开头的行,但DEFINE左边可能有空格,后面就是项目列表,用逗号隔开的就是要加到下接列表框中的项目。),这样的行有且只有一行,有多行的话也是只处理第一个这样的行出现的情况。 DEFINE %[基本工资],#[标准工资],%[年功工资] 然后把 DEFINE 后面这些用","号隔开的项目分别加到 上面提到的 下拉列表框中。
代码怎么写呢??谢谢。再问一个可能很简单的问题:
如果并不知道 str的值,用什么语句可以取得某个 RichEditBox 的所有内容给 str 呢?
现在程序执行到了这里.已知1:有一个变量 CString str; 他的值就是指定打开的某个文本文件的所有文本内容,当然内容肯定有很多的行。已经2:现准备好了一个下拉列表框,可以用如下的代码来往你里面加列表项。 CMainFrame *pFrame =(CMainFrame*)AfxGetApp()->m_pMainWnd;
pFrame->m_wndEditBar.m_SearchBox.InsertString(-1, "项目参照...");
pFrame->m_wndEditBar.m_SearchBox.InsertString(-1, "第二个");
pFrame->m_wndEditBar.m_SearchBox.SetCurSel(0);我想做的是: 让程序在 str 里找到如下的一行(这行应该是以DEFINE开头的行,但DEFINE左边可能有空格,后面就是项目列表,用逗号隔开的就是要加到下接列表框中的项目。),这样的行有且只有一行,有多行的话也是只处理第一个这样的行出现的情况。 DEFINE %[基本工资],#[标准工资],%[年功工资] 然后把 DEFINE 后面这些用","号隔开的项目分别加到 上面提到的 下拉列表框中。
代码怎么写呢??谢谢。再问一个可能很简单的问题:
如果并不知道 str的值,用什么语句可以取得某个 RichEditBox 的所有内容给 str 呢?
解决方案 »
- [求助]想学习利用MFC进行串口编程,需要学习什么作为基础呢?
- 如何判断鼠标处于拖拽状态??
- 急需压缩算法 range coding 的资料和论文资料!!!谁能帮帮忙啊?
- 西安公司 寻VC,TCP/IP开发工程师
- COM注册失败,返回0x80070715请问是怎么回事?
- 安装vc中的问题,急问??
- VC6.0下的源码能在VC.NET环境下编译成可执行文件吗?
- 知道一个进程名,如何得到这个进程的地址,也就是说得到这个进程的路径。在window98下。
- 如何得到指向对象的指针
- com中怎么传递自定义结构参数?
- VC介面怎么显示串“今天把小布什显示出来”。。。???
- 过了年还是要散分,顺便问一个小问题。
pStr = str.LockBuffer(); // 锁定缓冲区
TCHAR *pFirst = StrStr(pStr,_T("DEFINE")); // 找到第一个DEFINE所在行
TCHAR *pEnd = StrChr(pfirst,"\n"); // 找到那一行的结尾
CString strDef(pFirst,pEnd-pFirst); // 复制这一句到一个临时变量继续处理。
str.UnLockBuffer(); // 原缓冲解锁
pStr = strDef.LockBuffer();
pFirst = pStr;
pFirst += 7;
for(;*pFirst == _T(' ');pFirst++);// 定位到DEFINE后第一个不为空格字符
for(;;)
{
pEnd = StrChr(pFirst,_T(',')); //定位到下一个逗号
if(pEnd != NULL) // 如果没有逗号说明是最后一个
{
pFrame->m_wndEditBar.m_SearchBox.InsertString(-1, pFirst);
break;
}else
{
CString strTemp(pFirst,pEnd-pFirst);
pFrame->m_wndEditBar.m_SearchBox.InsertString(-1, strTemp);
pFirst = pEnd+1;
}
}
strDef.UnLockBuffer();