怎样动态设置对话框和控件?

来源:百度知道 编辑:UC知道 时间:2024/05/17 11:13:46
对话框中显示若干个Static和Edit控件排成一排,控件个数N不定(由用户指定),大小固定。怎样根据控件的不同个数,改变对话框的大小和控件的位置,使控件整齐美观?

仅作示例,不具有实用价值
至于具体怎么布局,得看你的了,我的例子只是说明可以动态生成窗口.
如果害怕使用指针就直接定义个数组,预先分配内存,而不用去管内存回收.

RECT rect;
rect.left = 0;
rect.right = 180;
rect.top = 0;
rect.bottom = 45;

n = 9;

pedit = new CEdit[n];

for (int i = 0; i < n; rect.bottom += 50, rect.top += 50, i++)
{
CString str;
pedit[i].Create(WS_VISIBLE,rect,this,i + 8888);
str.Format("这是第%d个窗口", i + 1);
pedit[i].SetWindowText(str);
pedit[i].ShowWindow(SW_SHOW);
}

上面的代码动态生成了9个窗口,并设置位置,内容,当然样式还要自己设置,n可以由用户输入,布局也可以自己修改,要注意的是在适当的时候适当地回收给pedit分配的内存........