CCtrlList Subitem bestimmen
-
Hallo
wie bestimme ich, welche Spalte ich gerade clicke
ich habe eine Funktion, welche auf doppelclick reagiert
jetzt möchte ich was in dieser art haben
int pos = m_listbox.GetSubItemPos(); if( pos == 1 ) { //mache das }
kann ich das SubItemHitTest verwenden? wenn ja wie? oder gibts da was besseres?
-
GetSelectionMark();
-
da habe ich die row ( zeile ) in der kann ich ja mehrere spalten haben )
wie bekomme ich raus, welche von denen?
irgendwie ein CPoint bestimmen der zeile und dann ausrechnen?
-
oh, sorry.. da hab ich mich verlesen
Du kannst aber die ColumnWidth auslesen und anhand der Info
übern CPoint feststellen welche Spalte geklickt wird.Aber dann musst du abschalten, das User sich die Spalten selbst
vertauschen können, da der Zugriff auf das SubItem immer gleich bleibt
egal wohin die Spalte geschoben wurde.
Geänderte Spaltenbreiten sollten kein Problem darstellen, die kannste
ja bei jedem Klick auslesen..edit: Die aktuelle Spaltensortierung könnteste evtl. über die
Spaltenbeschriftungen bekommen..
-
ne ne die spalten werden bei mir nicht verschoben
ja die width und alles ist klar. aber wie bekomme ich den CPoint der momentanen pos raus? ich rufe ja die dblclickonmylistbox() funktion auf. da müsste ich ja schon den cpoint übergeben, damit ich ihn in der funktionbenutzen kann`? oder kann ich trozdem ein
m_listbox.GetMouseClick(&pt); machen?
wie heisst die funktion eigentlich, die ich ja meiner m_listbox zuordnen muss.