MFC:在编辑框中表示邻接矩阵

昵称230

我有一个基于对话框的程序(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放在错误的地方?

巴马克·谢米拉尼(Barmak Shemirani)

在每次迭代中,您都将插入号位置重置为编辑控件的开始。

相反,您可以在开始时设置插入符位置一次。ReplaceSel只需插入插入符并向前移动插入符即可。例:

pEdit->SetSel(nPos, nPos);
for(int i = 0; i < x; i++)
{
    for(int j = 0; j < x; j++)
    {
        pEdit->ReplaceSel(L"0");
        pEdit->ReplaceSel(L" ");
    }
    pEdit->ReplaceSel(L"\r\n");
}

或者,您可以将其放在pEdit->SetSel(nPos, nPos);每行的开头(这将以相反的顺序插入行)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

从表示关系的矩阵制作邻接矩阵

来自分类Dev

从表示关系的矩阵制作邻接矩阵

来自分类Dev

如何将在编辑框中键入的值分配给MFC中的变量

来自分类Dev

熊猫数据框到邻接矩阵

来自分类Dev

用邻接矩阵表示图

来自分类Dev

Python中邻接矩阵的邻接列表表示

来自分类Dev

邻接矩阵Java

来自分类Dev

邻接矩阵实现

来自分类Dev

计算具有稀疏表示的邻接矩阵的度矩阵

来自分类Dev

邻接矩阵图表示代码崩溃

来自分类Dev

使用MFC中的“编辑框”处理滑块控件

来自分类Dev

Python中的邻接矩阵

来自分类Dev

Java中的邻接矩阵

来自分类Dev

邻接矩阵必须对称

来自分类Dev

创建邻接矩阵Matlab

来自分类Dev

图形:用于邻接矩阵

来自分类Dev

Java中的邻接矩阵

来自分类Dev

scala:邻接矩阵图

来自分类Dev

创建权重邻接矩阵

来自分类Dev

邻接矩阵必须对称

来自分类Dev

邻接矩阵图实现

来自分类Dev

邻接矩阵删除顶点

来自分类Dev

igraph从邻接表生成邻接矩阵

来自分类Dev

邻接表和邻接矩阵能够在逻辑上表示非线性数据结构

来自分类Dev

熊猫交易矩阵中的邻接矩阵

来自分类Dev

如何从计数矩阵获得邻接矩阵

来自分类Dev

使用Matlab编辑器从输入数据集图形文件构造邻接矩阵

来自分类Dev

在编辑框中使用Tab键不起作用C ++

来自分类Dev

Anylogic:您可以在编辑框中输入概率分布吗?