求助MFC动态创建组合框的问题

2024-12-29 11:52:06
推荐回答(3个)
回答1:

不建议你在OnDraw中写这样的代码,当窗口发生重绘的时候就会触发WM_PAINT消息,这样你的combobx不断的new,指针每次指向的都是新的combox不说,内存还发生严重的泄露,
建议将CComboBox* combobx定义在头文件,OnDraw中代码更改为:
if(combobx == NULL)
{
combobx = new CComboBox();
combobx->Create(WS_CHILD | CBS_DROPDOWNLIST, CRect(110,60,160,85), this, 100);
combobx->ShowWindow(SW_SHOW);
}

回答2:

CComboBox* combobx=new CComboBox();
combobx->Create(WS_CHILD|CBS_DROPDOWNLIST, CRect
(110,60,160,85), this, 100 );
combobx->ShowWindow(SW_SHOW);

1-窗口不是主框架,所以用this指针
2-要showwindow

回答3:

属性需要WS_VISIBLE属性,才可见,要不就需要ShowWindow显示