Hi@all!
Ich habe hier ne Sache, wo ich momentan ziemlich auf dem Schlauch stehe:
- Das TCustomgrid scheint bei einem Mausklick die TCustomgrid.Selection neu zu setzen, bevor das OnMouseDown Ereignis aufgerufen wird.
- Im OnMouseDown Ereignis starte ich ein manuelles Drag'n'Drop mit
Delphi-Quellcode:
DragSelection:=trect(dgMailBox.Selection);
if (DragSelection.top > 0) then
begin
(Sender as TDrawGrid).BeginDrag(False, 4); // Drag starten
end;
- Wenn jetzt mehrere Rows in der Selektion sind (z.B. 4), und der User auf diese vier Rows klickt (Mousedown), um das Drag'n'drop zu starten, werden alle Rows (außer die, auf die geklickt wurde) wieder aus der Selektion entfernt, und meine Variable DragSelection enthält nur die eine Zeile, auf die geklickt wurde.
- Ich benötige dieses manuelle Drag'n'Drop weil ich Zeilen aus einem Drawgrid (=EMaileinträge) an ein TTreeview-Item (=Mailboxes) übergeben möchte (Mails in anderen Mailbox-Ordner verschieben).
Hat jemand eine Idee, wie ich dieses Problem lösen kann?
Gruß und besten Dank,
Michael