MFC如何实现编辑框显示每行的行数
3个回答
展开全部
//设置字符串
m_csEdit=_T("你是谁,告诉我好吗。怎么不会的说话,就是上帝,也会可怜我这样个可怜的人的。你不会说吗?说话的是你吗,小强,不是我,就是你。诚信为本。");
UpdateData(FALSE);
int linecount=m_lineEdit.GetLineCount();
char buf[3];
sprintf(buf,"%d",linecount);
MessageBox(buf,NULL,MB_OK);
CString csline;
CString subline;
m_lineEdit.GetWindowText(csline);
//清空m_csEdit
m_csEdit=_T("");
for(int i=0;i<linecount;i++)
{
subline=_T("[i] ");//定义行标
int w=csline.Find(_T("\n\r"));
subline=csline.Mid(0,w);
m_csEdit+=subline;//第i行
csline=csline.Mid(w+1);//删除第i行,得到余下的字符串
}
UpdateData(FALSE);
这里有一个小问题就是,Finde(_T("\n\r));发现不到,算法没有错误。从弹出的对话框来看,可知道,行数有三行,说明,的确有三行了,应该有换行符,但是怎么发现不到。
你可以参考这个算法。如果你想到,和我一起共享 一下。
m_csEdit=_T("你是谁,告诉我好吗。怎么不会的说话,就是上帝,也会可怜我这样个可怜的人的。你不会说吗?说话的是你吗,小强,不是我,就是你。诚信为本。");
UpdateData(FALSE);
int linecount=m_lineEdit.GetLineCount();
char buf[3];
sprintf(buf,"%d",linecount);
MessageBox(buf,NULL,MB_OK);
CString csline;
CString subline;
m_lineEdit.GetWindowText(csline);
//清空m_csEdit
m_csEdit=_T("");
for(int i=0;i<linecount;i++)
{
subline=_T("[i] ");//定义行标
int w=csline.Find(_T("\n\r"));
subline=csline.Mid(0,w);
m_csEdit+=subline;//第i行
csline=csline.Mid(w+1);//删除第i行,得到余下的字符串
}
UpdateData(FALSE);
这里有一个小问题就是,Finde(_T("\n\r));发现不到,算法没有错误。从弹出的对话框来看,可知道,行数有三行,说明,的确有三行了,应该有换行符,但是怎么发现不到。
你可以参考这个算法。如果你想到,和我一起共享 一下。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2016-01-18
展开全部
设置字符串
m_csEdit=_T("你是谁,告诉我好吗。怎么不会的说话,就是上帝,也会可怜我这样个可怜的人的。你不会说吗?说话的是你吗,小强,不是我,就是你。诚信为本。");
UpdateData(FALSE);
int linecount=m_lineEdit.GetLineCount();
char buf[3];
sprintf(buf,"%d",linecount);
MessageBox(buf,NULL,MB_OK);
CString csline;
CString subline;
m_lineEdit.GetWindowText(csline);
//清空m_csEdit
m_csEdit=_T("");
for(int i=0;i<linecount;i++)
{
subline=_T("[i] ");//定义行标
int w=csline.Find(_T("\n\r"));
subline=csline.Mid(0,w);
m_csEdit+=subline;//第i行
csline=csline.Mid(w+1);//删除第i行,得到余下的字符串
}
UpdateData(FALSE);
这里有一个小问题就是,Finde(_T("\n\r));发现不到,算法没有错误。从弹出的对话框来看,可知道,行数有三行,说明,的确有三行了,应该有换行符,但是怎么发现不到。
m_csEdit=_T("你是谁,告诉我好吗。怎么不会的说话,就是上帝,也会可怜我这样个可怜的人的。你不会说吗?说话的是你吗,小强,不是我,就是你。诚信为本。");
UpdateData(FALSE);
int linecount=m_lineEdit.GetLineCount();
char buf[3];
sprintf(buf,"%d",linecount);
MessageBox(buf,NULL,MB_OK);
CString csline;
CString subline;
m_lineEdit.GetWindowText(csline);
//清空m_csEdit
m_csEdit=_T("");
for(int i=0;i<linecount;i++)
{
subline=_T("[i] ");//定义行标
int w=csline.Find(_T("\n\r"));
subline=csline.Mid(0,w);
m_csEdit+=subline;//第i行
csline=csline.Mid(w+1);//删除第i行,得到余下的字符串
}
UpdateData(FALSE);
这里有一个小问题就是,Finde(_T("\n\r));发现不到,算法没有错误。从弹出的对话框来看,可知道,行数有三行,说明,的确有三行了,应该有换行符,但是怎么发现不到。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那你使listbox吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询