上午问这个问题了,
有高手建议我用:GetDlgItem(IDC_STATIC1+i)->SetWindowPos();实现
可是后面要用到取控件地址等许多操作,实现太困难了。
所以希望能有高手告诉我切实的关联方法。
感谢!

解决方案 »

  1.   

    十六个picture控件的ID依次为IDC_STATIC1 ...IDC_STATIC16
    ID实际是宏如果你按顺序加IDC_STATIC2 = IDC_STATIC1 + 1 ;
      

  2.   

    那你把取出来的值放进数据里面,将来用数组不久可以了么CStatic *m_Image[16] ={NULL};
    for (int i=0; i<16; i++)
    {
      m_img[i] = (CStatic*) GetDlgItem(IDC_STATIC1+i);
    }
    将来用m_img[i],实现CStatic的操作
      

  3.   

    “十六个picture控件的ID依次为IDC_STATIC1 ...IDC_STATIC16
    ID实际是宏如果你按顺序加IDC_STATIC2 = IDC_STATIC1 + 1 ;”
    你的意思是说让我用hopen(哈雷)介绍的这种方法:
    CStatic *m_Image[16] ={NULL};
    for (int i=0; i<16; i++)
    {
      m_img[i] = (CStatic*) GetDlgItem(IDC_STATIC1+i);
    }
    将来用m_img[i],实现CStatic的操作
      

  4.   

    是我给你建议的吧。。你也可以这样处理,当然首先ID还是连续的
    //testdlg.h
    CStatic *m_pStatic[16];//testdlg.cpp
    CTestDlg::OnInitDialog()
    {
       for(int i=0; i<16; i++) 
        m_pStatic[i] = (CStatic*)GetDlgItem(IDC_STATIC1+i);
    }
      

  5.   

    刚才才回了一个相同的问题
    http://community.csdn.net/Expert/TopicView.asp?id=3134005比如你要对IDC_STATIC1进行修改
    m_pStatic[0]->SetWindowPos(....);
      

  6.   

    来看看这个
    http://www.codeproject.com/staticctrl/controlobjectlist.asp