问题描述如下 :
在一个对话框中有四个List Box控件(ID分别为:IDC_LIST1,IDC_LIST2,IDC_LIST3,IDC_LIST4),在CsyDlg.h头文件定义List Box控件数组
CListBox m_ListBox[4];
在CsyDlg.cpp文件中完成功能如下:
CString string;
string += (char)ch;
m_ListBox[port-1].AddString(string);
在执行m_ListBox[port-1].AddString(string);语句时报错,如果通过向导给四个List Box控件生成控件变量则不会报错.
如:给ID为IDC_LIST1生成控件变量为CListBox m_sy,然后替代出错语句.
CString string;
string += (char)ch;
m_sy.AddString(string);
则不会出错.原因是因为m_sy与IDC_LIST1邦定了DDX_Control(pDX, IDC_LIST1, m_sy);
请问如何邦定List Box控件变量数据组呢?即:CListBox m_ListBox[4];与四个List Box控件(ID分别为:IDC_LIST1,IDC_LIST2,IDC_LIST3,IDC_LIST4)如何对应???
在一个对话框中有四个List Box控件(ID分别为:IDC_LIST1,IDC_LIST2,IDC_LIST3,IDC_LIST4),在CsyDlg.h头文件定义List Box控件数组
CListBox m_ListBox[4];
在CsyDlg.cpp文件中完成功能如下:
CString string;
string += (char)ch;
m_ListBox[port-1].AddString(string);
在执行m_ListBox[port-1].AddString(string);语句时报错,如果通过向导给四个List Box控件生成控件变量则不会报错.
如:给ID为IDC_LIST1生成控件变量为CListBox m_sy,然后替代出错语句.
CString string;
string += (char)ch;
m_sy.AddString(string);
则不会出错.原因是因为m_sy与IDC_LIST1邦定了DDX_Control(pDX, IDC_LIST1, m_sy);
请问如何邦定List Box控件变量数据组呢?即:CListBox m_ListBox[4];与四个List Box控件(ID分别为:IDC_LIST1,IDC_LIST2,IDC_LIST3,IDC_LIST4)如何对应???
解决方案 »
- 让窗体透明,控件里面的字不透明
- overloaded member function 'void (unsigned int)' not found in
- 为啥下边代码没有效果?
- CWaveIn录音时如何消除背景音?
- MScomm空间的问题
- 帮忙看一下下面的代码,再做不出来老板要把我开除了,我真是够菜
- XP 2000下查找进程^^^^^^^^^
- 怎么用INSTALLSHIELD制作的安装程序只有一个SETUP文件?
- 请问各位高手,SDI程序是如何创建窗口的?
- 熟悉 NSIS 打包工具的请进
- 编译缺省工程时,报错“Could not generate command line for the 32-bit C/C++ Compiler for 80x86 tool.”
- 100分请教:vc才入门,想找个大点的项目看看源码,各位能不能推荐一下!
CListBox *m_plistboxxx[2];//testdlg.cpp
CTestDlg::OnInitDialog()
{
m_plistboxxx[0] = (CListBox*)GetDlgItem(IDC_LISTBOX1);
m_plistboxxx[1] = (CListBox*)GetDlgItem(IDC_LISTBOX2);
}
{
IDC_LIST1,IDC_LIST2,IDC_LIST3,IDC_LIST4
} ;int nCount = sizeof(nCtlID) / sizeof(UINT) ;
for(int nIndex = 0; nIndex < nCount; nIndex++)
{
m_ListBox[nIndex].SubclassDlgItem(nCltID[nIndex],this) ;
}在初始化函数中这样设置就邦定了。