【发布时间】:2019-12-13 15:07:17
【问题描述】:
我有一个基于对话框的程序 (MFC),我想在其中进行邻接图表示。我有一个编辑框 (IDC_EDIT) 和 MFC Masked Edit 控件 (IDC_VERTEXES),它有一个带有 2 位数字的掩码。
我写了一个代码,当失去对 IDC_VERTEXES 的关注时,IDC_EDIT 将被矩阵填充,其中所有数字都为 0。
void CTAB1::OnEnKillfocusVertexes()
{
CString Text;
GetDlgItemText(IDC_VERTEXES, Text);
int x = _wtoi(Text);
if (!Text.IsEmpty()) {
SetDlgItemText(IDC_EDIT, L"");
}
CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT);
int nPos = 0;
for (int i = 0; i < x; i++)
{
for (int j = 0; j < x; j++)
{
pEdit->SetSel(nPos, nPos);
pEdit->ReplaceSel(L"0");
pEdit->ReplaceSel(L" ");
}
pEdit->ReplaceSel(L"\r\n");
}
}
它按我的意愿工作,除了一件事。假设 IDC_VERTEXES 为 3 (x = 3)。 IDC_EDIT 应该是这样的:
0 0 0
0 0 0
0 0 0
但它看起来像这样:
0
0 0 0
0 0 0
0 0
是我遗漏了什么还是我把 \r\n 放错了地方?
【问题讨论】: