在MFC中,一般通过控件栏直接向对话框中添加按钮控件,并双击按钮添加该按钮控件的消息响应函数。但是经常我们需要根据程序输入或运行时信息在界面上动态生成一个或多个按钮,并分别添加消息响应,实现这一目标包括如下几步:
1.在类中声明按钮变量指针CButton* btn。
2.在类中声明并定义按钮控件的ID, buttonID=10000。
3.在类的OnInitDialog()函数中动态创建按钮。
btn = new CButton[n];
DWORD dwStyle = WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON;
for(int i = 0; i < DBUtil::OrdnanceSiteNum; i++){
btn[i].Create(str, dwStyle,CRect(x1,y1,x2,y2),this,buttonID+i);
btn[i].SetFont(GetParent()->GetFont());
}
上述代码中,n表示运行时获得的按钮控件的个数,一共创建n个按钮控件,且控件ID在buttonID~but