Why use DoDragDropat all? As I read your description, using Mouse.Captureit alone seemed like an obvious solution:
- Process OnMouseLeftButtonNext on the tab and start recording
- Handle OnMouseMove on the tab and refresh the cursor based on impact testing.
- OnMouseLeftButtonUp handle on tab and stop capture and make appropriate changes
Reasons why you might think of DoDragDrop over a simple mouse capture:
- Integration with Windows OLE drag and drop so you can drag and drop between applications and technologies.
- The modal nature of the DoDragDrop call (which actually seems more disadvantageous to me)
- Automated target testing.
- API- "drop operation", ..
, -, OLE , , , DoDragDrop .