我的程序中有十几个IDC_EDIT的文本框,对文本框的操作都是一样,有什么办法对这个控件按组操作。并对每个文本框单独操作,

解决方案 »

  1.   

    你把ID设成有顺序的,动态创建
    CEdit* pEdit = NULL;for (INT i = 0; i < 100; ++i)
    {
       pEdit = new CEdit;
       pEdit->Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
          CRect(10, 10, 100, 100), this, 1+i);
    }用的时候getDlgItem(ID)
      

  2.   

    办法我有一个,可能效率不高。
    首先把资源文件中这些EDIT的数值设成连续的(假设从a到n)for (int i = a; i < n; ++i)
    {
        CEdit* pEdit = GetDlgItem(i);
        //做你想做的事
    }
      

  3.   

    错了,是CEdit* pEdit = (CEdit*) GetDlgItem (i);
      

  4.   

    如果经常操作的话可以在声明一个成员数组指针,可以改为:
    int nTemp = 0;
    for (int i = a; i < n; ++i)
        m_pEdit [nTemp] = GetDlgItem(i);在调用的时候
    for (int n = 0; n < Count; ++n)//Count为Edit的数量
    {
        //TODO m_pEdit [n];
    }
      

  5.   

    自已重载WindowProc函数截取消息就行了。