none
CListView durchläuft nicht OnNMHover RRS feed

  • Frage

  • In einem CListView würde ich gerne in OnNMHover verwenden, um das List Item Icon zu setzen. Leider wird die Methode nicht durchlaufen.

    Besten Dank,

    Thomas

    Montag, 30. Mai 2011 07:58

Antworten

  • Und warum machst Du das nicht einfach in dem Du WM_MOUSEMOVE behandelst und dann mit HitTest prüfst wo Du bist?

    Das ist doch viel einfacher...


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    • Als Antwort markiert milonass Montag, 13. Juni 2011 09:45
    Donnerstag, 9. Juni 2011 10:01
    Moderator

Alle Antworten

  • Dir ist klar, dass WM_NOTIFY an das Parent gesendet wird und Du ON_NOTIFY_REFLECT im Viewverwenden müsstest?


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Dienstag, 31. Mai 2011 07:11
    Moderator
  • Ja, geht beides nicht.
    Donnerstag, 2. Juni 2011 18:59
  • Hallo milionass,

    zeig doch mal den Eintrag aus deiner Messagemap und den Funktionsrumpf deiner OnNMHover() Methode.

    Gruß

    schorsch

    Sonntag, 5. Juni 2011 06:39
  • Hmmm. Es hat den Anschein als ob NM_HOVER nur dann gesendet wird wenn LVS_EX_TRACKSELECT auch gesetzt ist.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Sonntag, 5. Juni 2011 16:35
    Moderator
  • Also es klappt einfach nicht, auch nicht mit LVS_EX_TRACKSELECT. Hab versucht, sowohl ON_NOTIFY_REFLECT in der Listklasse, als auch ON_NOTIFY im Parent-Window anzufangen. Geht nicht.
    Mittwoch, 8. Juni 2011 18:53
  • Mit LVS_EX_TRACKSELECT geht es bei mir. Ichhabe eine simple Dialog Anwendungund einen On_NOTIFY Handler gebaut.

    Was für einen Stil hast Du denn für den List View?

    Warum willst Du das Icon denn ändern, wenn der Cursor drüber ist?


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Donnerstag, 9. Juni 2011 06:32
    Moderator
  • BOOL test = m_CSystemImageView.CreateEx( LVS_EX_AUTOSIZECOLUMNS|LVS_EX_TRACKSELECT,WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_ICON, rect, this, 200);

    Das List control ist eine reine Image List. Vielleicht ist das der Grund. Wenn der User mit der Maus auf dem icon ist, soll es leicht vergrössert dargestellt werden (Schnickschnack, aber die Leute sind halt sowas gewöhnt von dem WPF Zeug).

     

     

     

     

     

     

    Donnerstag, 9. Juni 2011 09:38
  • Und warum machst Du das nicht einfach in dem Du WM_MOUSEMOVE behandelst und dann mit HitTest prüfst wo Du bist?

    Das ist doch viel einfacher...


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    • Als Antwort markiert milonass Montag, 13. Juni 2011 09:45
    Donnerstag, 9. Juni 2011 10:01
    Moderator