(高分技术讨论)请看一段源码关于动态创建控件的问题?
    CObList ObCurtain;
CStringList StrCurtainID; //the pointor of CRoomDlg
CRoomDlg *pRDlg;
pRDlg=(CRoomDlg *)AfxGetMainWnd(); //loop variable
int iLoopVar;
char *edtCurtainID="EDIT_CURTAIN_ID";
for(iLoopVar=0;iLoopVar<pRDlg->m_iCurtain;iLoopVar++)
{
       char edtCurtainIDNO[20]="";
   char szLVBuffer[20];
   strcpy(edtCurtainIDNO,edtCurtainID);
   strcat(edtCurtainIDNO,itoa(iLoopVar,szLVBuffer,10));
   StrCurtainID.AddTail(edtCurtainIDNO);
}

char edtTempCurtainID[20];
strcpy(edtTempCurtainID,StrCurtainID.GetHead());
POSITION edtCurtainIDPos=StrCurtainID.GetHeadPosition();
for(iLoopVar=0;iLoopVar<pRDlg->m_iCurtain;iLoopVar++)
{
CEdit *m_pEdit = new CEdit;
    m_pEdit->Create(WS_CHILD|WS_VISIBLE,CRect(10,10,60,40) ,this, edtTempCurtainID) ;
ObCurtain->AddTail(m_pEdit);
strcpy(edtTempCurtainID,StrCurtainID.GetNext(edtCurtainIDPos));
}
我的想法,例如动态创建五个Edit控件,给这五个控件ID分别为"EDIT_CURTAIN_ID0"...
"EDIT_CURTAIN_ID4",我怎样把它们转化为那种整型呢?

解决方案 »

  1.   

    1.再resource.h中定义#define要么直接在这个地方写上ID号如1001等
      

  2.   

    控件ID是mfc内部处理资源识别问题的,你定义它干嘛
      

  3.   

    #define IDC_EDITCOUNT 4
    UINT uIDArray[IDC_EDITCOUNT]=
    {
       IDC_EIDT1,
       IDC_EIDT2,
       IDC_EIDT3,
       IDC_EIDT4,
    };for ( int i=0 ; i<IDC_EDITCOUNT ; i++)
    {
       CEdit *m_pEdit = new CEdit;
       m_pEdit->Create(
            WS_CHILD|WS_VISIBLE,
            CRect(10,10,60,40) ,
            this, 
            uIDArray[i]) ;
       ...
       ...
    }try this 
    OK?
      

  4.   

    IDC_EIDTx // 为你预先自定义的ID好使的话给点分呗^_^