break Geschrieben 20. April 2007 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
pit030771 Geschrieben 20. April 2007 Teilen 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
break Geschrieben 20. April 2007 Autor Teilen Geschrieben 20. April 2007 Hallo, danke, OnDrawItem() funktion des CListCtrl's, also list controls überschreiben?? Es geht dabei um CListCtrl und nicht CListBox! break Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
pit030771 Geschrieben 20. April 2007 Teilen Geschrieben 20. April 2007 jepp so müsste es gehen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
break Geschrieben 20. April 2007 Autor Teilen 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; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
pit030771 Geschrieben 20. April 2007 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
break Geschrieben 20. April 2007 Autor Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 20. April 2007 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
pit030771 Geschrieben 20. April 2007 Teilen Geschrieben 20. April 2007 Genau wollt ich auch grade sagen äh schreiben. Du kannst das aber auch über die Eigenschaften im Dialogeditor einstellen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.