dll 中 对话框中clistctrl 问题
在动态库新建的对话框类中 关联clistctrl控件变量 m_list
部门代码如下:动态库接口如下
extern "C" __declspec(dllexport) void __stdcall portapp()
{
CMyDialog *mydialog = new CMyDialog;
//CString name_;
//AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
mydialog->SetListValue(/*name_*/);
mydialog->ShowWindow(SW_SHOW);
}
CMydialog中 setListValue 函数
void CMyDialog::SetListValue(/*CString name_*/)
{
//
m_Imagelist.Create(16,16,ILC_COLOR24|ILC_MASK,0,1);
m_Imagelist.SetBkColor(RGB(255,255,255));
m_Imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
//::SendMessage(this->m_hWnd,WM_MYMESSAGE,0,0);
m_list.InsertColumn(0,_T("颁发给"),LVCFMT_LEFT,60);
m_list.InsertColumn(1,_T("颁发者"),LVCFMT_LEFT,60);
m_list.InsertColumn(2,_T("预期目的"),LVCFMT_LEFT,70);
m_list.InsertColumn(3,_T("好记的名称"),LVCFMT_LEFT,80);
m_list.InsertColumn(4,_T("截止日期"),LVCFMT_LEFT,65);
m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_SUBITEMIMAGES);
m_list.SetImageList(&m_Imagelist,LVSIL_SMALL);
m_list.InsertItem(0,_T("abc"),0);
m_list.SetItem(0,1,LVIF_TEXT|LVIF_IMAGE,_T("bcd"),0,0,0,0);
}
程序运行出现问题
debug assertion failed!
file:f:\rtm\vctools\vc7libs\ship\atlmfc\src\mfc\winocc.cpp
代码放在oninitdialog里是没有问题的。
[解决办法]
光new是不够的,还要加上Create才行啊。
CMyDialog *mydialog = new CMyDialog;
mydialog->Create(IDD_MYDIALOG,NULL);
[解决办法]