由于创建的控件个数是读取数据库,每次都可能不一样,故采用动态创建控件的方法创建控件,如下图创建了多个复选框和文本框,点击确定按钮时如何知道哪些复选框被选中,查看MSDN知估计是用GetState()但是不知道如何使用,同时,哪些文本框的内容是什么,附上代码供各位参考 1.创建成员变量 CButton *pButton; CEdit *pEdit; 2.OnInitDialog()中创建部分如下 pButton = new CButton[iNum]; pEdit = new CEdit[iNum]; for(int i=0;i<iNum;i++) { pButton[i].Create(strTittle, WS_CHILD|BS_DEFPUSHBUTTON|WS_VISIBLE|BS_AUTOCHECKBOX, CRect(10, 120+30*i, 150, 140+30*i), this, 100+i); pEdit1[i].Create( WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER|WS_EX_TOOLWINDOW,CRect(150, 120+30*i, 200, 140+30*i), this, 10+i); } 3.OnOK() { //这部分需要获得哪些复选框被选中,并获得各个文本框的值 }
for(int i = 0; i < inum; i++) { if(pButton[i].GetCheck()) { 被选中 } cstring pedit[i]->GetwindowText(str); strText为获取的文本 }