Schon wieder CListCtrl



  • Zallo zusammen!
    Ich stehe schon wieder vor einem Rätzel.
    Ich möchte abfangen, wenn man eine Spalte des List-Controls in der Breite verändert, sprich: Tracking.
    Dafür habe ich eine Klasse geschrieben, von CListCtrl abgeleitet. In der Klasse habe ich die Funktion OnNotify() überschrieben:

    BOOL CMyListCtrl::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) 
    {    
        switch (((NMHDR*)lParam)->code)
        {
        case HDN_BEGINTRACKW:
        case HDN_BEGINTRACKA:
        case HDN_TRACKA:
        case HDN_TRACKW:
            case HDN_ENDTRACKW:
            case HDN_ENDTRACKA:
            {
                // mein Code, BREAKPOINT
            } 
        return CListCtrl::OnNotify(wParam, lParam, pResult);
    }
    

    Mein Problem ist, dass beim HDN_BEGINTRACK, sowie bei HDN_ENDTRACK funzt alles, aber beim eigentlichen Tracking (HDN_TRACK) passiert GAR NICHT 😡 .
    Hat jemand eine Idee, was konnte ich übersehen haben?

    Danke.

    [ Dieser Beitrag wurde am 20.10.2002 um 20:49 Uhr von Laie editiert. ]



  • Immer noch keine Idee? Ist leider sehr wichtig 😞

    [ Dieser Beitrag wurde am 21.10.2002 um 10:03 Uhr von Laie editiert. ]



  • HALLOOOOO!!!!!
    Kann mir keiner helfen!????



  • Also erstmal sollte der Code so aussehen:

    BOOL CMyListCtrl::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) 
    {    
      switch (((NMHDR*)lParam)->code)
      {
        case HDN_BEGINTRACK:
          return FALSE;  // FALSE to allow tracking
        case HDN_TRACK:
          return FALSE;  // FALSE to continue tracking
        case HDN_ENDTRACK:
        {
          // mein Code, BREAKPOINT
        } 
        break;
      }
      return CListCtrl::OnNotify(wParam, lParam, pResult);
    }
    

    Und dann setz auf jedes return nen Breakpoint, wenn's dann net geht, funzt Dein ListCtrl net richtig oder die MSDN is falsch 😉


Anmelden zum Antworten