Veröffentlicht 20. April 200718 j Hallo Forum, hab eine Aufgabe die nicht leicht ist, vielleicht hat jemand schon damit was gemacht! Ich muss in einem CListCtrl die Zeilenhöhe unterschiedlich darstellen, hab auch beispiele gefunden wie das gemacht werden muss... Mein Problem ist aber das ich nicht alle auf die selbe höhe stellen will, sondern manche auf 0, also etwas wie ausgeblendet... Wenn das CListCtrl eine höhe zugewisen bekommt, dann ist das für das ganze Control.... Hat jemand etwas in der Art schon versucht? Danke break
20. April 200718 j dafür musst du die nachricht OnDrawItem abfangen. dort bekommst eine struktur als übergabeparameter und darin kannst du deine einstellungen machen,für jede zeile.
20. April 200718 j Hallo, danke, OnDrawItem() funktion des CListCtrl's, also list controls überschreiben?? Es geht dabei um CListCtrl und nicht CListBox! break
20. April 200718 j Hi, danke bin schon dabei das zu machen, hmm, gibts da auch ein message macro, wie ON_...() ?? EDIT: hab gefunden: ON_MESSAGE(WM_DRAWITEM, OnDrawItem) break;
20. April 200718 j On_wm_drawitem() in der struktur LPDRAWITEMSTRUCT ist ein member mit dem Rect des items darüber kannst du die größe ändern
20. April 200718 j meine funktionen OnDrawItem(...) werden nicht aufgerufen, ich habe das macro in der message liste so: // in header von dem CSortListCtrl: afx_msg void OnDrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct); // in *.cpp von CSortListCtrl: ON_WM_DRAWITEM() //}}AFX_MSG_MAP // und : void CSortListCtrl::OnDrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) { // erster versuch nur zum testen: Sleep(10); } Dann hab ich das selbe in den Dateien des parent Dialogs eingefügt, also das Dialog auf dem das CSortListCtrl liegt, vielleicht gehts dann, aber auch ohne erfolg! Was könnte(muss!) ich noch ändern? Danke break
20. April 200718 j Wenn das List Control den Style LVS_OWNERDRAWFIXED hat, sendet es WM_DRAWITEM an sein Elternfenster. Soweit ich weiß, kannst du damit aber nicht die Höhe der Items beeinflussen. Schau doch mal hier rein: The Code Project - Free Source Code and Tutorials
20. April 200718 j Genau wollt ich auch grade sagen äh schreiben. Du kannst das aber auch über die Eigenschaften im Dialogeditor einstellen
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.