MFC SetDlgItemText(IDC_EDIT,_T("1")),接下来怎么在第二行显示2,但第一行还是1,不要告诉我那种笨法子!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC SetDlgItemText(IDC_EDIT,_T("1")),接下来怎么在第二行显示2,但第一行还是1,不要告诉我那种笨法子!相关的知识,希望对你有一定的参考价值。
如果有1~1000个数据,每一行显示一个,该怎么弄
参考技术A 为编辑框关联CString类型变量m_sEdit,在编辑框的属性中选择多行,垂直滚动初始化时加入以下语句:
m_sEdit.Empty();
CString str;
for (int i=0;i<1000;i++)
str.Format("%d", i+1);
str += "\r\n";
m_sEdit += str;
UpdateData(FALSE); 参考技术B CString a;
CString b;
int i;
for(i=1;i<=400;i++)
a.Format(_T("%d\r\n"),i);
b+=a;
SetDlgItemText(IDC_EDIT1,b);本回答被提问者和网友采纳 参考技术C 你可以用for里面在加一个数据转换把数字转成文字不就成了
如何在自定义类中调用“SetDlgItemText”?
我创建了基于Dialog的MFC应用程序(c ++)。 OnBnClickedButton
使用SetDlgItemText()
打印编辑控件的数据。现在我想在自定义类(新创建的类)中使用SetDlgItemText
,但收到错误“Debug assertion failed”。
class test: public CDialogEx
{
public:
void upd(CString);
};
void test::upd(CString a)
{
SetDlgItemText(IDC_EDIT6,a);
}
void CMFCApplication3Dlg::OnBnClickedButton4()
{
test obj;
obj.upd("Hello");
}
答案
您只能在创建对话框窗口时设置对话框项。
调用Create
或DoModal
时会创建对话框。只要您只有一个对话框类的实例,就不能在未创建对话框时访问其中的任何窗口。
通常,您应该使用DDX例程在对话框类和窗口之间交换数据。
PS:在我看来这是一个初学MFC问题。请阅读一些教程。
另一答案
尝试在事件处理程序中执行此操作
void CMFCApplication3Dlg::OnBnClickedButton4()
{
CString str; //Initialize this string to whatever you wish to
GetDlgItem(IDC_EDIT6)->SetWindowText(str);
}
希望这可以帮助。
p.s我知道这与SetDlgItemText无关,它只是在mfc中设置文本的另一种方式。
以上是关于MFC SetDlgItemText(IDC_EDIT,_T("1")),接下来怎么在第二行显示2,但第一行还是1,不要告诉我那种笨法子!的主要内容,如果未能解决你的问题,请参考以下文章