+ -
当前位置:首页 → 问答吧 → VC++2005下 CComboBox IDC_COMBO1 不能加东西,不知是何原因

VC++2005下 CComboBox IDC_COMBO1 不能加东西,不知是何原因

时间:2011-12-17

来源:互联网


VC++2005下 CComboBox IDC_COMBO1 不能加东西,不知是何原因

CString str;
for(int i = 0; i < m_pListBox->GetCount(); i++)
{
m_pListBox->GetText(i, str);
RETAILMSG(1,(TEXT("..App....DBName=%s..\r\n"), str)); //可正常显示记录.


  方式1: 不行 
//((CComboBox*)GetDlgItem(IDC_COMBO1))->InsertString(i, str);
   
  方式2: 不行 
  ((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString(str);
}

这是什么原因呢? (以前好像可以)

作者: shenzhentom   发布时间: 2011-12-17

你是不是ID搞错了,你的m_pListBox貌似是CListBox控件,你下面的IDC_COMBO1标示的好像是CComboBox控件

作者: VisualEleven   发布时间: 2011-12-17

Sorry,我看错了,你是想使用CComboBox控件

作者: VisualEleven   发布时间: 2011-12-17

你Debug下看看GetDlgItem(IDC_COMBO1))返回的指针有效?
你的ComboBox控件是否勾上了OwnerDraw属性了?

作者: VisualEleven   发布时间: 2011-12-17

初始创建时,把 CComboBox 控件窗口拉高一些,否则就算添加数据进去,也下拉不下来。

作者: chinatcp   发布时间: 2011-12-17

先确定GetDlgItem是能正确得到控件指件。

作者: wltg2001   发布时间: 2011-12-17

引用 5 楼 wltg2001 的回复:
先确定GetDlgItem是能正确得到控件指件。


GetDlgItem(IDC_COMBO1)

如何确定呢?

作者: shenzhentom   发布时间: 2011-12-17

引用 5 楼 wltg2001 的回复:
先确定GetDlgItem是能正确得到控件指件。


  CComboBox *m_CBox;
m_CBox = (CComboBox *)GetDlgItem(IDC_COMBO1);

试过了, 这里不能正常得到句柄, 会是什么原因呢?

m_CBox->AddString(L"11111");

作者: shenzhentom   发布时间: 2011-12-17