Не могу создать список ClistCtrl в окне
затем добавил колонку в ListBox:
FileBox.InsertColumn(0,_T("name"),LVCFMT_LEFT,rect.Width() /3);
Проблема в том что ListControl не появляется.Вылазит только чистое окно без контрола.
Вот код:
/////////////////////////////////////////////////////////////////
class FileWnd:public CMDIChildWnd
{
public:
FileWnd();
virtual ~FileWnd();
private:
afx_msg int OnCreate(LPCREATESTRUCT);
afx_msg void OnPaint();
afx_msg void OnSize(UINT,int,int);
afx_msg void OnDestroy();
virtual BOOL PreCreateWindow( CREATESTRUCT& cs );
CListCtrl FileBox;
DECLARE_MESSAGE_MAP();
};
FileWnd::FileWnd()
{
}
FileWnd::~FileWnd()
{
}
BEGIN_MESSAGE_MAP(FileWnd,CMDIChildWnd)
ON_WM_CREATE()
ON_WM_PAINT()
ON_WM_SIZE()
ON_WM_DESTROY()
END_MESSAGE_MAP()
BOOL FileWnd::PreCreateWindow( CREATESTRUCT& cs )
{
cs.lpszName = "hello";
return CMDIChildWnd::PreCreateWindow(cs);;
}
int FileWnd::OnCreate(LPCREATESTRUCT lpc)
{
if(CMDIChildWnd::OnCreate(lpc)==-1)
return -1;
CRect rect;
GetClientRect(&rect);
FileBox.Create(LVS_LIST|LVS_REPORT|LVS_EDITLABELS|WS_VISIBLE|WS_CHILD,rect,this,1000);
FileBox.InsertColumn(0,_T("name"),LVCFMT_LEFT,rect.Width() /3);
return 0;
}
void FileWnd::OnPaint()
{
CMDIChildWnd::OnPaint();
}
void FileWnd::OnSize(UINT Code,int cx,int cy)
{
CMDIChildWnd::OnSize(Code,cx,cy);
}
void FileWnd::OnDestroy()
{
}
/////////////////////////////////////////////////
Если вам на форме нужен только CListCtrl, тогда наследуете свой класс представления от CListView.
Если же нужны и другие контролы (что бывает чаще), тогда наследуете свой класс представления от CFormView.
Зачем создал 2 одинаковые темы?!