Die Funktion "DrawInsert"


Die Funktion DrawInsert dient dazu, den Vorgang zu visualisieren und dem Benutzer eine Orientierung zu geben, wo er sich gerade befindet. Dazu zeichnet sie einen Pfeil links neben die DragListbox auf das Elternfenster. Das folgende kleine Beispiel ermittelt zunächst das Item der Listbox, auf dem wir uns befinden:

ItemIdxDragging:= LBItemFromPt(GetDlgItem(hDlg, IDC_LISTBOX),
  PDRAGLISTINFO(lParam)^.ptCursor, TRUE);

Damit können wir den Pfeil anzeigen lassen

DrawInsert(hDlg, PDRAGLISTINFO(lParam)^.hWnd, ItemIdxDragging);

Die ersten beiden Parameter geben jeweils das Handle des Elternfensters und der Listbox an. Der letzte Parameter ist der Index des Items, auf dem wir uns gerade im Moment des "Ziehens" befinden.
Um die Markierung wieder zurückzusetzen bzw. verschwinden zu lassen, wird als letzter Parameter einfach -1 übergeben:

DrawInsert(hDlg, PDRAGLISTINFO(lParam)^.hWnd, -1);