代码如下:
CMyView.cpp
const int CHECK=100;
CMyView::OnCreateListBox()
{
CCheckListBox *p = new CCheckListBox();
p->Create(WS_CHILD|WS_VISIBLE|WS_BORDER,
CRect(10,10,20,20),
this,
CHECK);
}
运行时当我点MENU中的Create时,总是报错,请高手指点迷津
CMyView.cpp
const int CHECK=100;
CMyView::OnCreateListBox()
{
CCheckListBox *p = new CCheckListBox();
p->Create(WS_CHILD|WS_VISIBLE|WS_BORDER,
CRect(10,10,20,20),
this,
CHECK);
}
运行时当我点MENU中的Create时,总是报错,请高手指点迷津
解决方案 »
- CString字符串怎样把一个路径的‘\’变为'\\'
- 如何在MFC的dialog上实现像word那样的,自绘图形时选择状态出现控制块
- 菜鸟问题:VC 中 利用edit box 连续显示变化数据的问题?请赐教啊,
- 求ip查询算法,根据一个ip,从一个ip库中找出与之区域最近的ip,并按区域远近排序.
- 请问:请问:InlineIsEqualGUID是什么意思?
- 有谁研究过《Windows核心编程》里的第22章的LastMsgBoxInfo程序?
- 请教简单的算法(字符串操作)
- 有谁清楚SDK、C/C++、WINDOWS程序,这三者的关系?
- 怎样直接得出这个值?
- windows窗口边缘阴影算法的原理
- VC++如何做到监视一个WEB窗口的运行,并能截取WEB窗口发往网站的消息?在线等候...
- 有关密码框的问题!!
p->Create(LBS_OWNERDRAWFIXED WS_CHILD|WS_VISIBLE|WS_BORDER|WS_VSCROLL,................);
CMyView.cpp
const int CHECK=100;
CMyView::OnCreateListBox()
{
CCheckListBox *p = new CCheckListBox();
p->Create(WS_CHILD|WS_VISIBLE|WS_BORDER,
CRect(10,10,20,20),
this,
CHECK);
}
有没有例子呀,拜托了
CMyView.cpp
const int CHECK=100;
CMyView::OnCreateListBox()
{
CCheckListBox *p = new CCheckListBox();
p->Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LBS_OWERDRAWVARIABLE,
CRect(10,10,20,20),
this,
CHECK);
}
有没有例子呀,拜托了
1. Style必须包括LBS_OWNERDRAWFIXED | LBS_HASSTRINGS;
2. 必须使用成员变量或全局变量,建议使用成员变量如下:
class CMyView()
{
...
CCheckListBox p;//或者使用指针形式:CCheckListBox *p;}
3. 在调用创建控件时,应该判断是否已经创建,否则第二次创建会出错:
CMyView::OnCreateListBox()
{
if (p.m_hWnd == NULL)
{
p.Create(WS_CHILD | WS_VISIBLE | WS_BORDER | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS,
CRect(10,10,200,200), this, CHECK);
p.AddString("TEST");
}
}
如果使用指针:
CMyView::OnCreateListBox()
{
if (p == NULL)
{
p = new CCheckListBox;
p->Create(WS_CHILD | WS_VISIBLE | WS_BORDER | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS,
CRect(10,10,200,200), this, CHECK);
p->AddString("TEST");
}
}//注意,使用指针必须在CMyView的建构函数中赋值为NULL,在析构函数中释放。