我有一个字符串数组str[5],现在用一个for循环将数组内容输出到只读edit编辑框控件中现希望每行只显示一个数组内容,代码如下:for(int i=0;i<5;i++)
{
CEdit* pEdit=(CEdit*)OwnWnd->m_dlg.GetDlgItem(IDC_EDIT_DISPLAY);
pEdit-> SetWindowText(str[i]+"\r\n");
g_pView->UpdateData(FALSE);
}但结果是只输出数组的最后一项。请问这是为什么?
{
CEdit* pEdit=(CEdit*)OwnWnd->m_dlg.GetDlgItem(IDC_EDIT_DISPLAY);
pEdit-> SetWindowText(str[i]+"\r\n");
g_pView->UpdateData(FALSE);
}但结果是只输出数组的最后一项。请问这是为什么?
可以把要显示的一次性生成一个str,然后调用一次SetWindowText。
CString strView = "";
for(int i=0;i <5;i++)
{
CEdit* pEdit=(CEdit*)OwnWnd->m_dlg.GetDlgItem(IDC_EDIT_DISPLAY);
strView.Append(str[i]+"\r\n");
g_pView->UpdateData(FALSE);
} pEdit-> SetWindowText(strVies);
每次调用相当于先把原来内容擦掉,再把str的内容set到窗体上面去。