Started by stephan_35, November 20, 2009, 03:08:48 AM
Quote from: stephan_35 on November 24, 2009, 05:05:23 AMI use almost five events to make sure the current action, hand over certain other related actions DragNDrop (to autocad) requires that any This can operate in asynchronous mode.
QuoteMy desire is very easy: no automatic move or copy method.
QuoteI have no problem with an addition property for drag & drop style.
QuoteBut it would break the current consistency.
QuoteI force the user to select the item at first (to let the event OnClicked or OnSelChanged release) and then he can start drag and drop operation.
Quote from: owenwengerd on November 25, 2009, 07:10:10 AMI wonder whether it would solve this problem if I change OnDragnDropBegin so that the return value from the event handler is used to decide whether move is allowed.
Quote from: owenwengerd on November 25, 2009, 09:17:44 AMAdding properties is not practical because it would require a property for every possible action. Eventually I want the events to mirror the internal drag/drop system whereby the OnDragOver event returns an appropriate effect depending on what is beneath the cursor. For now, returning a value (not necessarily a boolean -- I'm inclined to use an integer that matches the built in values) is a way to give you control without requiring any change to the documented API or to old code.
Quote from: stephan_35 on November 25, 2009, 12:26:52 AMDo you use Treeview with opendcl control, or do you use activeX ?
Quote from: Fred Tomke on November 25, 2009, 11:55:36 AMI've never used ActiveX tree control. There was no need 'cause the internal tree control did everything we need.
Quote from: owenwengerd on November 25, 2009, 11:12:54 AMThe way that drag and drop works is that first, OnDragBegin returns an opaque "data" object along with an integer that controls what "effects" are supported on the data. For example, a value of 1 means that the data can be copied; a value of 2 means the data can be moved; a value of 3 means the data can be copied or moved. OnDragOver is then called every time the mouse moves, and its return value determines which "effect" is active. The cursor is chosen based on the active effect, and there is no way to control that via lisp in any case.To reiterate, I need to know how I can make the code work for both you and Fred without breaking old code. If I change the code to check for an integer returned from OnDragnDropBegin, then use that integer as the "supported effects" value, will that allow both your code and Fred's code to work? If I undo the Alpha 14 change, this means Fred's code would need to return 1 to enable only the copy effect.