break Geschrieben 20. April 2007 Geschrieben 20. April 2007 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
pit030771 Geschrieben 20. April 2007 Geschrieben 20. April 2007 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.
break Geschrieben 20. April 2007 Autor Geschrieben 20. April 2007 Hallo, danke, OnDrawItem() funktion des CListCtrl's, also list controls überschreiben?? Es geht dabei um CListCtrl und nicht CListBox! break
break Geschrieben 20. April 2007 Autor Geschrieben 20. April 2007 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;
pit030771 Geschrieben 20. April 2007 Geschrieben 20. April 2007 On_wm_drawitem() in der struktur LPDRAWITEMSTRUCT ist ein member mit dem Rect des items darüber kannst du die größe ändern
break Geschrieben 20. April 2007 Autor Geschrieben 20. April 2007 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
Klotzkopp Geschrieben 20. April 2007 Geschrieben 20. April 2007 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
pit030771 Geschrieben 20. April 2007 Geschrieben 20. April 2007 Genau wollt ich auch grade sagen äh schreiben. Du kannst das aber auch über die Eigenschaften im Dialogeditor einstellen
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden