Fragen zu ListView



  • hello,

    Ich hab zwar bei der suche etwas gefunden, hilfreiches war für mich aba nix dabei.

    Meine Fragen:

    Ich habe ein ListView in einem Dialog mit 2 Spalten. In der ersten befindet sich ein kleines Hackal-Icon in der zweiten eine Beizeichnung. Jetzt wärs natürlich sinnvoll, dass wenn ich auf ein Item klicke, das Hackel verschwindet bzw. erscheint.
    Dazu würde sich die NM_DBCLK - Message eignen. Der MSDN ist dazu folgendes zu entnehmen:
    This notification is identical to the standard NM_DBCLK notification except that, in version 4.71 and later, the list view supplies an NMLISTVIEW structure instead of an NMHDR structure for the lParam.

    Offensichtlich dürfte ich aber unter Version 4.71 sein, und jetzt bekomm ich kein bequemes struct mit allen Infos die ich mir wünsche (speziell den Index des Doppelgeklickten Items), sondern nur ein struct aus dem ich nur den Window-Handle, die ID der ListView und den NotificationCode auslesen kann.

    Wie finde ich den Index des Doppelgeklickten Items heraus?
    Ist ein Item nach dem es Doppelgeklickt wurde, auch schon markiert?
    Wenn irgend ein Item geklickt wird, soll die ganze Zeile und nicht nur die erste Spalte markiert sein, geht das?

    Der längste Eintrag in der 2. Spalte den ich habe, füllt ca. 75% der sichtbaren ListView aus, dennoch bekomme ich schon einen horizontalen Scrollbar. Wie kann ich nur den horizontalen deaktivieren? In der MSDN habe ich SetScrollInfo() gefunden, aber
    Gibt es eine andere Methode als über SetScrollInfo() bzw. ist diese Funktion der optimale Weg?

    Da es schon ziemlich oft Fragen zu ListViews gegeben hat, hoffe ich, ihr geht nicht gleich mit einer negativen Einstellung an meine Frage heran - wie gesagt, konnte mir die Such-Funktion nicht weiterhelfen.



  • OK, hab alles herausgefunden, bis auf die Frage mit dem Scrollbar 😉



  • Scrollbar siehe ListView-Header!



  • Danke!!!!

    Ich hatte ihn auf autosize und deshalb gar nicht dran gedacht......


Anmelden zum Antworten