标题:动态创建CComboBox控件的问题
只看楼主
zjhnuaa
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-11-4
结帖率:100%
已结贴  问题点数:20 回复次数:2 
动态创建CComboBox控件的问题
写了下面这个测试函数,想动态的在一个对话框上创建CComboBox控件,可是运行之后控件没有显示出来,
请高手指教,哪里有问题。

创建控件的函数
程序代码:
BOOL CTestCtrlMsgDlg::AddCtrl(UINT mCtrlID, CRect rect) 
{ 
CComboBox mCtrlCombox; 

BOOL RST = mCtrlCombox.CreateEx( NULL,_T("ComboBox"), NULL, 
WS_CHILD|WS_VISIBLE|WS_VSCROLL|CBS_DROPDOWNLIST|WS_TABSTOP, 
rect,this, mCtrlID ); 

if( RST ) 
{ 
mCtrlCombox.AddString( _T("Item 1") ); 
mCtrlCombox.AddString( _T("Item 2") ); 
mCtrlCombox.AddString( _T("Item 3") ); 
mCtrlCombox.AddString( _T("Item 4") ); 
} 

mCtrlCombox.ShowWindow(SW_SHOW); 

return RST; 
} 


我是在DLG工程的自带OnInitDialog函数中调用的,调用部分如下:
程序代码:
CRect rect; 
rect.left = 5; 
rect.right = 200; 
rect.top= 5; 
rect.bottom = 300; 

BOOL rst = AddCtrl( 20001, rect ); 


先行谢过,另:我想给这个动态创建的下拉控件添加一个对CBN_SELCHANGE消息的响应,不知道该怎么添加。

[ 本帖最后由 zjhnuaa 于 2009-11-4 19:39 编辑 ]
搜索更多相关主题的帖子: 动态 控件 CComboBox 
2009-11-04 19:35
humin_jx
Rank: 2
等 级:论坛游民
帖 子:1
专家分:20
注 册:2009-10-31
得分:20 
注意到你在函数内实例化了一个对象,CComboBox mCtrlCombox;它在AddCtrl结束前析构了。
建议使用指针。
2009-11-05 00:54
zjhnuaa
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-11-4
得分:0 
恩,就是这个原因,多谢提醒
2009-11-06 16:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-291034-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.091140 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved