TListView



  • Wie kann man eine Aktion auslösen, wenn die Maus über einer TListColumn (Spaltenüberschrift) ist ?

    Das Ereignis OnMouseOver der TListView wird bei den Columns der ListView nicht ausgelöst.

    Jede Column heit eine Nummer im Tag zugewiesen bekommen (1-5)

    Durch eine SWITCH-Anweisung

    switch ((TListColumn *)Tag)
    

    Meint der Compiler, dass der Auswahlausdruck einer Switch-Anweisung ganzzahlig sein muss.

    Die Tags 1-5 sind doch ganzzahlig.....

    ==>Eisbeer<==





  • Hallo

    Eisbeer schrieb:

    Wie kann man eine Aktion auslösen, wenn die Maus über einer TListColumn (Spaltenüberschrift) ist ?

    Das Ereignis OnMouseOver der TListView wird bei den Columns der ListView nicht ausgelöst.

    Da müßtest du wohl von TListView eine neue Komponente ableiten und dort direkt die Windows-Message abfangen und verarbeiten. Hier wird das Prinzip erklärt.

    Jede Column heit eine Nummer im Tag zugewiesen bekommen (1-5)

    Durch eine SWITCH-Anweisung

    switch ((TListColumn *)Tag)
    

    Meint der Compiler, dass der Auswahlausdruck einer Switch-Anweisung ganzzahlig sein muss.

    Die Tags 1-5 sind doch ganzzahlig.....

    Du kannst nicht einfach die Tags, in denen die Indexe der Spalten stehen, in TListColumn casten (wenn du nicht einen C-Cast sondern den eigentlich angebrachten static_cast genommen hättest hätte dir der Compiler das auch gesagt). Den Cast könntest du nur machen wenn in den Tags die Adressen der TListColumn-Objekte stehen würden.
    Aber das brauchst du auch nicht. Mit dem Index in den Tags kannst du doch bereits über die Eigenschaft TListView::Columns das Spaltenobjekt abfragen, wenn das korrekte TListView bereits feststeht.

    bis bald
    akari

    /Edit : Huch da hat Jansen den Thread geschlossen, bevor ich mit schreiben fertig war... na ich poste nochmal im anderen Thread.


Anmelden zum Antworten