直接上代码了,主要是思路,代码不难理解:
#define MAX_COUNT (33) // CheckBox的总个数
#define MAX_ROW (2) // 一排最大放2个CheckBox
#define IDC_CHECKBOX (0x11) // 控件的ID号
CButton* pButton = NULL;
CString strText(_T(""));
CONST UINT MAX_CHECKBOX_WIDTH = 120; // 定义CheckBox的宽度
CONST UINT MAX_CHECKBOX_HEIGHT = 20; // 定义CheckBox的高度
CONST UINT MAX_CHECKBOX_X_GAP = 20; // 定义CheckBox之间的水平间隔距离
CONST UINT MAX_CHECKBOX_Y_GAP = 20; // 定义CheckBox之间的垂直间隔距离
CRect rect;
rect.SetRectEmpty();
for(int i = 0; i != MAX_COUNT; ++i)
{
if(0 == (i % 2))
{
rect.left = 10;
rect.top = rect.bottom + MAX_CHECKBOX_Y_GAP;
}
else
{
rect.left = rect.right + MAX_CHECKBOX_X_GAP;
}
rect.right = rect.left + MAX_CHECKBOX_WIDTH;
rect.bottom = rect.top + MAX_CHECKBOX_HEIGHT;
strText.Format(_T("CheckBox - %d"), i+1);
pButton = new CButton;
ASSERT(NULL != pButton);
VERIFY(pButton->Create(strText, WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_AUTOCHECKBOX, rect, this, IDC_CHECKBOX + i));
}有问题可以留言。