(高分技术讨论)请看一段源码关于动态创建控件的问题?
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",我怎样把它们转化为那种整型呢?
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",我怎样把它们转化为那种整型呢?
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?