如何正确使用((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString(NAME);?? 15

交谈中请勿轻信汇款、中奖消息,勿轻易拨打陌生电话。木瓜(330988812)13:56:42自己构造一个类:GetArea有成员函数:GetProvinceToListB... 交谈中请勿轻信汇款、中奖消息,勿轻易拨打陌生电话。

木瓜(330988812) 13:56:42
自己构造一个类:GetArea 有成员函数:GetProvinceToListBox()
想在 Viod View::OnInitialUpdate()里面 调用GetProvinceToListBox()就可以将Province表中P_Name字段
依次添加到 组筐IDC_COMBO1中,编译时出现以下错误==》
error C2660: 'GetDlgItem' : function does not take 1 parameters

GetProvinceToListBox()中的代码直接放到Viod View::OnInitialUpdate()里面可以正常实现。

如何修改CString GetArea::GetProvinceToListBox()中的代码才能实现这个功能???
以下是原代码===》

CString GetArea::GetProvinceToListBox()
{
CString SQL;
CString NAME;

SQL.Format("Select * from Province ");
m_pSet.Open(CRecordset::forwardOnly ,SQL,CRecordset::readOnly);

while (!m_pSet.IsEOF())
{
m_pSet.GetFieldValue("P_Name", NAME );
NAME.Format("%s",NAME);

((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString(NAME);
m_pSet.MoveNext();

}

return NAME;
}

网上兄弟尽快帮忙解决一下,兄弟我感激不尽~~~~!!
GetArea没有继承,是一个独立的类。我知道GetDlgItem()需要两个参数,一个是窗口句柄,另一个是资源ID,但这个句柄这样在一个独立的类中如何通过这个资源ID号得到相应的窗口句柄呢?
展开
 我来答
梓诺天使
2015-09-23 · TA获得超过475个赞
知道答主
回答量:83
采纳率:100%
帮助的人:17.3万
展开全部
GetArea不是继承CWnd的吧,那当然不能只用一个参数了
还得加一个窗口句柄参数,例如HWND hDlg;给hDlg赋值IDC_COMBO1所在窗口的句柄,函数就改成
((CComboBox*)GetDlgItem(hDlg,IDC_COMBO1))
HWND hDlg;//在头文件里申明一个变量
hDlg = ((CComboBox*)GetDlgItem(IDC_COMBO1))->GetSafeHwnd();//在cpp文件里赋值
然后就是两个类之间传递值的问题了。可以在GetProvinceToListBox()函数上加个参数用来传递如GetProvinceToListBox(HWND hDlg);也可以在GetArea类里面定义一个全局变量
在列表框中必须添加新数字序列时, 必须先清除列表框中原有数据,所以必须调用清除原有数据的函数。。。

int classNum=ChooseClass.GetCurSel();
CString studentID;

((CComboBox*)GetDlgItem(IDC_COMBO2))->ResetContent(); // 使用ResetContent()函数清除原有数据

for (int i=1;i<stuNumChoose[classNum];i++)
{

studentID.Format(_T("%d"),i);
((CComboBox*)GetDlgItem(IDC_COMBO2))->AddString(studentID);
}

修改后,发现列表框中数据有了变化,但是还是达不到想象中的效果。
dicknew
2008-02-18 · TA获得超过109个赞
知道答主
回答量:60
采纳率:0%
帮助的人:66.6万
展开全部
GetArea不是继承CWnd的吧,那当然不能只用一个参数了
还得加一个窗口句柄参数,例如HWND hDlg;给hDlg赋值IDC_COMBO1所在窗口的句柄,函数就改成
((CComboBox*)GetDlgItem(hDlg,IDC_COMBO1))

答案补充:这方法就多了,首先要在窗口类里面
HWND hDlg;//在头文件里申明一个变量
hDlg = ((CComboBox*)GetDlgItem(IDC_COMBO1))->GetSafeHwnd();//在cpp文件里赋值
然后就是两个类之间传递值的问题了。可以在GetProvinceToListBox()函数上加个参数用来传递如GetProvinceToListBox(HWND hDlg);也可以在GetArea类里面定义一个全局变量,这就不用我说了吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式