CListCtrl Kind mit Dynamischerheadergröße // OnSize



  • Moin hab ein CListCtrl das Dynmaisch seine Größe anpast. Eigendlich hab ich OnSize dafür benutzt. Aber nun, wenn man den Header manuel verstellen will geht dies nicht, da OnSize aufgerufen wird.

    Ich möchte aber das man auch Manuel die Headerbreite verstellen kann.

    Wie unterscheide ich also ein:
    - OnSize das durch Headergröße ändern ausgelöst wird
    - OnSize das durch größe änderung der List ausgelöst wird?

    Oder gibt es eine andere Message ausser ON_WM_SIZE die ausgelöst wird bei größe änderung des ListCtrls?



  • Ich kann mich nicht entsinnen, dass, wenn die Spaltenbreite geändert wird, ein WM_SIZE aufgerufen wird.



  • Also bei mir wirds aufgerufen!?

    Also meine Messagemap sieht so aus:

    BEGIN_MESSAGE_MAP(CMyListCtrl, CListCtrl)
    	//{{AFX_MSG_MAP(CMyListCtrl)
    	ON_WM_SIZE()
    	//}}AFX_MSG_MAP
    END_MESSAGE_MAP()
    

    und bei mir wir OnSize aufgerufen wenn ich den Header verscheibe!
    Also liegt das jetzt an mir das ausversehen OnSize aufgerufen wird? *wunder*
    Kann ich irgenwo in der MSDN was über die bestimmtung von WM_SIZE finden? Hab schon gesucht aber nix gefunden.



  • Also OnSize wird nur aufgerufen, wenn man den Header breiter macht als das ListCtrl ist! Wenn ich den Header kleinermache wird OnSize nicht aufgerufen.

    Daraus schließe ich das sich das ListCtrl in der größe ändert, wenn man den Header breiter als die liste macht. Wie kann ich nun die beiden Größe änderung unterscheiden? Garnicht? :°-(


Anmelden zum Antworten