CListCtrl nur in dialogen ?
-
Heiho
Ich moechte eine CListCtrl in einem ChildView anzeigen, hab eine klasse von CListCtrl abgeleitet und als member in der ChildView klasse deklariert
wenn ich nu .Create(...) in OnCreate(..) von ChildView mach wird es einfach nicht angezeigt
in nem buch wurde die CListCtrl nur im zusammenhang mit einen dialog angesprochen - kann es sein das es das nur in dialogen benutzen kann ?
wenn ja, was kann ich stattdessen nehmen - und wenn nein - was mach ich falsch ?danke
-
Nimm einen CFormView, dann hast du wieder alles, was man so von einem Dialog gewohnt ist - nur als View.
-
Hallo,
beim Create in OnCreate natürlich mit WS_CHILD|WS_VISIBLE erzeugen.
Dann die Nachricht WM_SIZE bearbeiten. Darin kommt dann z.B.if ( m_wndListCtrl.GetSafeHwnd() ) m_wndListCtrl.MoveWindow(0, 0, cx, cy);Dann solltest du es sehen.
Gruß
Frank
-
hmm - irgendwas mach ich noch falsch
WS_CHILD|WS_VISIBLE hab ich schon drinn
was mir aufgefallen ist - im prosise wurde es geloest indem eine CListView abgeleitet wurde - kann es sein das es das selbe ist nur fuer "normale" ansichten ohne dialog ?
-
Ja CListView entspricht einem CListCtrl in das Doc/View Model verpackt.
-
Hi,
ich vermute, Du hast noch nichts in Deiner Liste zum anzeigen.
BEGIN_MESSAGE_MAP(CChildView, CView) ON_WM_CREATE() ON_WM_SIZE() END_MESSAGE_MAP() int CChildView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; if (m_wndListCtrl.Create(WS_CHILD|WS_VISIBLE, CRect(0, 0, 0, 0), this, 0x01) == -1) return -1; CString itemText; for ( int i = 0; i < 10; ++i ) { itemText.Format(_T("Item %d"), i); m_wndListCtrl.InsertItem(i, itemText); } return 0; } void CChildView::OnSize(UINT nType, int cx, int cy) { CView::OnSize(nType, cx, cy); if ( m_wndListCtrl.GetSafeHwnd() ) m_wndListCtrl.MoveWindow(0, 0, cx, cy); }Gruß
Frank
-
ne - mein fehler war anscheinend das ich in der klasse was falsch gemacht hab - wenn ich es direkt so aufruf
CListCtrl m_List und dann m_List.create laeuft alles fehlerfrei
aber mitclass CListPreview : public CListCtrl
.
.
CListPreview m_List und m_List.create - da gings nicht, hab in der klasse irgendwo was falsch gemacht - muss noch rausfinden was #gg//dazuedit - die position und das alles werd ich anders setzen, die liste soll ja nicht das ganze fenster ausfuellen #gg - weiss da aber shcon wie ihc das mach - danke trotzdem