Some time ago, Jonathan Harris wrote...
|+
| Kirill M. Katsnelson wrote:
|
| > Let me pick a nit. Drag is initiated after mouse is moved minimum distance
| > with a button down.
|
| I was paraphrasing the following from the MSVC++ 5.0 docs. Maybe the MS
| docs are not self-consistant:
| # Recommended user interface guidelines define the beginning of a drag
| # operation as the selection of data and a WM_LBUTTONDOWN event
| # occurring on a point inside the selected data.
|
| In practice many MS apps (eg MS Developer Studio 97, MS Word 95) appear
| to behave like this, except that they delay a little to check that the
| 'click' is actually a 'hold'.
Good point. It appears that drag starts either after a timeout, when it is
clear that it is a "Hold", not click, or after the pointer slips a bit,
when it is clear that it is a "drag"...
| But for a filemanager dnd the target app (ie XEmacs) can't pass any
| information about the state of the modifiers to the source app (ie the
| filemanager), so one can't implement the usual Move/Copy semantics for
| even if one wanted to. Or am I missing something.
No, you are not. File manager DND came from ancient times of windows 2.x.
It is a very simple and featureless protocol, hardly even worthy to be
called a protocol (it's one way).
Modern applications should support OLE DND. Explorer of course does, so
it uses the new protcol to an apllication which registers itself properly.
Nevertheless I still think that even DND lite is a bin win for the current
release.
Kirill