求助!!MFC 对话框 List Control初始化
我做了一个基于对话框的程序,由主对话框点开第二个对话框,希望打开第二个对话框的时候,能够把数据库中一张表的信息以列表的形式显示出来,想用list control控件,但现在不能进行初始化,显示不出列头的信息……折腾一晚上了,求助哇~小女不胜感激~~
下面是我写的初始化函数:
BOOL CShowProjectsDlg::OnInitDialog()
{
CDialog::OnInitDialog();
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// TODO: Add extra initialization here
//就是这个地方一加上就出错……不明白……
list1.SetExtendedStyle( list1.GetExtendedStyle() | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT );
list1.InsertColumn(0,L"One",LVCFMT_LEFT,150);
list1.InsertColumn(1,L"Two",LVCFMT_LEFT,150);
list1.InsertColumn(2,L"Three",LVCFMT_LEFT,150);
return TRUE; // return TRUE unless you set the focus to a control
}
------解决思路---------------------- list1.SetExtendedStyle(...);
之前加上list1.ModifyStyle(0, LVS_REPORT); ???
------解决思路---------------------- 样式要加上LVS_REPORT
------解决思路---------------------- 引用: list1.SetExtendedStyle(...); 之前加上list1.ModifyStyle(0, LVS_REPORT); ??? 好像是先获取,再去修改吧?LZ把程序分开写试试:
DWORD dwStyle = list1.GetExtendedStyle(); dwStyle ------解决思路---------------------- = LVS_EX_FULLROWSELECT ------解决思路---------------------- LVS_EX_GRIDLINES ------解决思路---------------------- LVS_EX_INFOTIP; list1.SetExtendedStyle(dwStyle);------解决思路---------------------- 另外要把样式改为report形式,
右键你的控件,选择属性,然后找找吧,我也忘记是第几个TAB界面里头了。
------解决思路---------------------- 我是用的report,但是每次点到那个响应函数的时候,都会弹出一个系统错误的框框,一直点“忽略”之后
------------------------
点什么响应函数?请描述清楚一些
------解决思路---------------------- 看看你的CShowProjectsDlg类的初始化的地方正确吗?Debug下调试一下,比如CShowProjectsDlg类的OnInitDialog函数中?Debug下打开call stack窗口,查看函数调用堆栈,应该很容易找到出错的函数调用的。