Drag-n-Drop in Delphi applications?

Just how valuable is offering drag-n-drop in your apps?

I think I'm seeing a pattern where users get frustrated with drag-n-drop more than they get benefits. I have been using computers for 20 years and I still on occasion drop something where I didn't want to. Some times I don't even know where it went because I was looking at the drop target instead of the item that I accidently dropped onto.

Also, you must have the drag source and drop target in view at the same time or else you end up holding the dragged item while the auto-scroll slowly brings into view the drop target.

Most of the time the screen is full of items you *can't* drop on, leaving you dragging long distances before getting to an allowed target.

Drag-n-Drop has no visual hinting as to it's availability, you just have to *believe* it's there until you get everything set up to use. Then you find out you can't do use drag-n-drop.

I'm wondering if selecting then issuing a command isn't better than drag-n-drop? If I do that (and actually I offer both most of the time) then I can show a list of allowable receive sites to select from. That way it doesn't matter if the drop site is visible or not and/or how far away it is. Once the drop site is selected and the command issued everything works fine (no accidental drops in the wrong place).

With selecting both drag source and drop site first I can show an impact report without the user having to hold the mouse button while the ponder their decision to drop. And if they decide against the drop they don't have to drag back the source to prevent an erroneous drop.
0
rich
2/5/2009 4:28:22 PM
embarcadero.delphi.non-tech 5933 articles. 1 followers. Follow

8 Replies
777 Views

Similar Articles

[PageSpeed] 58

> Also, you must have the drag source and drop target in view at the
> same time or else you end up holding the dragged item while the
> auto-scroll slowly brings into view the drop target.
> 
> Most of the time the screen is full of items you *can't* drop on,
> leaving you dragging long distances before getting to an allowed
> target.
Most of the time I use drag&drop source and target are close to each 
other, in other cases keyboard is easier to use.

> Drag-n-Drop has no visual hinting as to it's availability, you just
> have to *believe* it's there until you get everything set up to use.
> Then you find out you can't do use drag-n-drop.
OLE-drag&drop adapts the mouse cursor to indicate whether a drop-target 
accepts or rejects your "drag-object".

> I'm wondering if selecting then issuing a command isn't better than
> drag-n-drop? If I do that (and actually I offer both most of the
> time) then I can show a list of allowable receive sites to select
> from. That way it doesn't matter if the drop site is visible or not
> and/or how far away it is.
Depending on how much drop targets there are this can clutter the screen 
a lot. When you move the mouse over a potential drop target then the 
mouse cursor should change either to something indicating acceptance or not.
I think it all boils down to appropriately combine the keyboard and 
mouse. I personally never drag&drop text for example, copy and paste is 
much more efficient with the keyboard&mouse combination, mouse for 
insertion point, keyboard for selection, copy and paste.

  Once the drop site is selected and the
> command issued everything works fine (no accidental drops in the
> wrong place).
> 

> With selecting both drag source and drop site first I can show an
> impact report without the user having to hold the mouse button while
> the ponder their decision to drop. And if they decide against the
> drop they don't have to drag back the source to prevent an erroneous
> drop.
To not have to hold the mouse button there are accessibility options.
To abort a drag&drop operation you can press Escape.
Ideally, in the future people will have tablets by default. Using a pen 
or your hand it's easier to do this kind of actions.

I really think it's good to offer mouse as well a keyboard interaction. 
Depending on the situation one is more favorable over another but 
especially for quick and short distance operations mouse usage can be 
really quick. Splitting mouse usage up in several steps (first select 
source, then target then say what should happen) is equal to use the 
keyboard or a combination of mouse and keyboard.

Conclusion: if drag&drop works like OLE-drag&drop, I think it is quite 
useful, you get transparent window telling you what you drag, a mouse 
cursor that adapts to show you if dropping is allowed and you can abort 
using the escape key. The only annoying point is that you can 
accidentally mess up text when text drag&drop is enabled.
0
Utf
2/5/2009 5:38:24 PM
> {quote:title=Maël Hörz wrote:}{quote}
>
> Most of the time I use drag&drop source and target are close to each 
> other, in other cases keyboard is easier to use.

Exactly.

> OLE-drag&drop adapts the mouse cursor to indicate whether a drop-target 
> accepts or rejects your "drag-object".

Yes, but you've already had to set up the screen, bring the source and target into view, etc. Only after you start the drag operation do you "see" that it is allowed or not. You probably spent time setting up the screen before you even know if a drag operation can be started by holding down the mouse button.

> Depending on how much drop targets there are this can clutter the screen 
> a lot. When you move the mouse over a potential drop target then the 
> mouse cursor should change either to something indicating acceptance or not.

Right, you've had to set up the screen then pick the items to drag then drag them around before you know if the drop target is acceptable. If you provide a list of "acceptable targets" you just select the drag items pick a target and bingo done.

> The only annoying point is that you can 
> accidentally mess up text when text drag&drop is enabled.

Or if you're mouse acts up you can drop some files into a folder you didn't want to drop them in and may well not know which folder is was. Then you have to start searching to find all the dropped files that have now been mixed among the files that were already in that folder.
0
rich
2/5/2009 9:18:24 PM
<rich k> wrote in message news:77710@forums.codegear.com...
>
> Or if you're mouse acts up you can drop some files into a folder you 
> didn't want to drop them in and may well not know which folder is was. 
> Then you have to start searching to find all the dropped files that have 
> now been mixed among the files that were already in that folder.

Yeah, that one drives me nuts.  Of course, in my case the mouse only acted 
the way I told it to, but sometimes I just flat miss the target, or let my 
finger slip off the button, and kazaam, I'm searching for files.

Cheers,
Van
0
Van
2/5/2009 9:28:09 PM
Van Swofford wrote:
> <rich k> wrote in message news:77710@forums.codegear.com...
>> Or if you're mouse acts up you can drop some files into a folder you 
>> didn't want to drop them in and may well not know which folder is was. 
>> Then you have to start searching to find all the dropped files that have 
>> now been mixed among the files that were already in that folder.
> 
> Yeah, that one drives me nuts.  Of course, in my case the mouse only acted 
> the way I told it to, but sometimes I just flat miss the target, or let my 
> finger slip off the button, and kazaam, I'm searching for files.
> 

And this kind of thing happens quite a bit as the left mouse button starts to 
weaken.  I know this must happen to others in this line of work where your 
dragging, but the left mouse button gets so warn over time that even a minuscule 
let up on the button registers a mouse up event.

I probably go through about 1 or 2 mice a year and that is from a guy who 
prefers keyboard navigation.

--
Warm Regards,

Lee
0
Lee
2/6/2009 2:30:59 AM
> Or if you're mouse acts up you can drop some files into a folder you
> didn't want to drop them in and may well not know which folder is
> was. Then you have to start searching to find all the dropped files
> that have now been mixed among the files that were already in that
> folder.
True. But undo helps here: in case you don't know which folder it was 
just right-click the Desktop and choose undo.
0
Utf
2/6/2009 2:07:41 PM
"Maël Hörz" wrote :
>> Or if you're mouse acts up you can drop some files into a folder you
>> didn't want to drop them in and may well not know which folder is
>> was. Then you have to start searching to find all the dropped files
>> that have now been mixed among the files that were already in that
>> folder.
> True. But undo helps here: in case you don't know which folder it was
> just right-click the Desktop and choose undo.

CTRL+Z
0
John
2/6/2009 3:08:53 PM
Maël Hörz wrote:

> True. But undo helps here: in case you don't know which folder it was 
> just right-click the Desktop and choose undo.

You learn something new every day...

....if you're not too careful.  ;-)

-- 
Andy Syms
Technosoft Systems Ltd
0
Andy
2/6/2009 3:32:49 PM
John Cash schrieb:
> "Maël Hörz" wrote :
>>> Or if you're mouse acts up you can drop some files into a folder you
>>> didn't want to drop them in and may well not know which folder is
>>> was. Then you have to start searching to find all the dropped files
>>> that have now been mixed among the files that were already in that
>>> folder.
>> True. But undo helps here: in case you don't know which folder it was
>> just right-click the Desktop and choose undo.
> 
> CTRL+Z
The advantage of right-clicking is that it tells you the action it's 
going to undo.
0
Utf
2/6/2009 5:15:59 PM
Reply:

Similar Artilces:

Drag and Drop in delphi
Hi All, Can anyone help me how to create drag emails into thunderbird using delphi 6.Please help me it is very urgent. Regards PT ravindra p wrote: > Hi All, > > Can anyone help me how to create drag emails into thunderbird using > delphi 6.Please help me it is very urgent. For drag & drop to another application you have to implement OLE drag&drop. Delphi has no support for that natively, but there are free (and not so free) 3rd-party offerings. http://www.melander.dk ( http://users.on.net/johnson/delphi/ as alternative) http://codecentral.borl...

Delphi and Delphi for .Net
It seems that Delphi for .Net is slower than Delphi Win32 native applicaiton. I would like to know is it true all .Net application is slower than Win32 native applicaiton or it is Delphi for .Net only. Your information is great appreciated, Inung On 2011-06-21 18:20:17 +0100, Inung Huang said: > It seems that Delphi for .Net is slower than Delphi Win32 native applicaiton. > I would like to know is it true all .Net application is slower than > Win32 native applicaiton or it is Delphi for .Net only. If you are only running the code in the application once then, yes, yo...

ActiveX differences between Delphi 7 and Delphi XE4 in an MFC application
When I create an ActiveX control based on a TPanel (with no added code) in Delphi 7, I am able to add this to a MFC C++ application and have it run fine. When I take the exact same code and compile it in Delphi XE4 (and XE2), MFC throws an assertion. I confirmed that the only changes are in the dcu, ocx and res files. The assertion is happening on ASSERT(wFlags == DISPATCH_METHOD); in occsite.cpp (I included the source to this). {code} STDMETHODIMP COleControlSite::XEventSink::Invoke( DISPID dispid, REFIID, LCID, unsigned short wFlags, DISPPARAMS* pDispParams, VARIANT* pvar...

I wrote an application and used cracked delphi 7, after i bought delphi 7
I wrote an application and used cracked delphi 7, I sold it, after i bought delphi 7 and recompiled application, is now my application legal or? > {quote:title=Ivan Ivanov wrote:}{quote} > I wrote an application and used cracked delphi 7, I sold it, after i bought delphi 7 and recompiled application, is now my application legal or? "I embezzled some money from my employer, returned the funds, and then got it back as a bonus. Can I still be arrested?" Uhhh .... didn't you just confess to a crime? > {quote:title=Ivan Ivanov wrote:}{quote} > I wrote an appli...

How do I drag and drop text using Delphi 2006?
I am trying to learn how to do drag and drop with Delphi 2006. I have come across examples on how to do this with objects, but I'm interested in only dragging and dropping text. I would like to be able to accomplish the following: * Select text in one DBEdit box and drag (move or copy using control and shift keys) to another DBEdit box * Select text from a webpage and drag it into a DBEdit box I understand that these two operations are pretty different (the second needs to be done with COM). Can anyone help me with this by pointing me to an online article or component? I ha...

Drag'n Drop Mails to other applications
Hello everyone, I had an questions about the drag'n drop feature from GroupWise. When I drop an mail on the desktop or to the explorer it is working. But when dropping the mail to our document management system (ProFile from ProCAD) it is not working. When first dropping the mail to the desktop and then to the DMS all is ok. Is there something I can configure? Any suggestions are welcome. Thanks Dirk "Dirk Lange" <Lange@technotrans.de> wrote in news:xj2gd.5588$%e6.1621@prv-forum2.provo.novell.com: > When first dropping the mail to the desktop and t...

Drag-n-drop across windows/application
Greetings! I would like to be able to drag & drop objects (items, strings, etc.) between form windows and possibly between application. Can anyone point me to the proper approach to do this? Thanks! System: P++2.1 Ent on WinNT 4.0. -- Vince --------------------------------------- vli@mpr.ca ---,-'-{@ I never made a mistake in my life. ISM-BC Telecom Solutions I thought I did once, but I was wrong. - anon voice:(604)293-5306 fax: (604)473-5816 I have the same problem. I have ask the same question. No Solution? No answer. The first one the have the answer as...

Dragging and dropping a .WAV from Delphi App to other apps
Is there an easy way to drag a .WAV file from a Delphi 2006 App to another app. It's not from a listbox or anything like that. It's from a custom window. My code would need to be responsible for generating a .WAV file based on where the person initially clicked on a window. Is the only way to drop a file from a Delphi 2006 to use complicated COM routines? If so, then would the other app that receives the file need complicated com routines too, or would it work with any app that could accept a the same dropped file type from Explorer? Thanks. "Jeff Ya...

Drag and drop: need to register object/window for drag n drop mails from outlook.
Dear all, I got a problem with dragging and dropping mails from outlook into a window or an object(listiew, ...) on a window. I first tried drag and dropping files on a listview and this worked perfectly (i even got the right icon into the listview). but it seems dragging and dropping mails from outlook is a lot more difficult. the thing I want to do is to drag and drop an email from outlook and save it's message to a certain directory to begin with (maybe later I want that message to be inserted immediately into a multiline edit control) But I already found a program ...

Drag and drop: need to register object/window for drag n drop mails from outlook.
Dear all, I got a problem with dragging and dropping mails from outlook into a window or an object(listiew, ...) on a window. I first tried drag and dropping files on a listview and this worked perfectly (i even got the right icon into the listview). but it seems dragging and dropping mails from outlook is a lot more difficult. the thing I want to do is to drag and drop an email from outlook and save it's message to a certain directory to begin with (maybe later I want that message to be inserted immediately into a multiline edit control) But I already found a program ...

superreview granted: [Bug 421817] Don't use HTML5 drag-and-drop event names for non-HTML5 drag-and-drop implementation : [Attachment 309761] remove dragstart, dragleave and drop events for now, change
Johnny Stenback (:jst) <jst@mozilla.org> has granted Neil Deakin <enndeakin@gmail.com>'s request for superreview: Bug 421817: Don't use HTML5 drag-and-drop event names for non-HTML5 drag-and-drop implementation https://bugzilla.mozilla.org/show_bug.cgi?id=421817 Attachment 309761: remove dragstart, dragleave and drop events for now, change the NS_DRAGDROP_DROP constant to refer to the dragdrop event and not the drop event. https://bugzilla.mozilla.org/attachment.cgi?id=309761&action=edit ------- Additional Comments from Johnny Stenback (:jst) <jst@mozill...

superreview requested: [Bug 421817] Don't use HTML5 drag-and-drop event names for non-HTML5 drag-and-drop implementation : [Attachment 309761] remove dragstart, dragleave and drop events for now, chan #3
Neil Deakin <enndeakin@gmail.com> has asked Johnny Stenback (:jst) <jst@mozilla.org> for superreview: Bug 421817: Don't use HTML5 drag-and-drop event names for non-HTML5 drag-and-drop implementation https://bugzilla.mozilla.org/show_bug.cgi?id=421817 Attachment 309761: remove dragstart, dragleave and drop events for now, change the NS_DRAGDROP_DROP constant to refer to the dragdrop event and not the drop event. https://bugzilla.mozilla.org/attachment.cgi?id=309761&action=edit ...

superreview requested: [Bug 421817] Don't use HTML5 drag-and-drop event names for non-HTML5 drag-and-drop implementation : [Attachment 309761] remove dragstart, dragleave and drop events for now, chan #2
Neil Deakin <enndeakin@gmail.com> has asked for superreview: Bug 421817: Don't use HTML5 drag-and-drop event names for non-HTML5 drag-and-drop implementation https://bugzilla.mozilla.org/show_bug.cgi?id=421817 Attachment 309761: remove dragstart, dragleave and drop events for now, change the NS_DRAGDROP_DROP constant to refer to the dragdrop event and not the drop event. https://bugzilla.mozilla.org/attachment.cgi?id=309761&action=edit ...

Drag and Drop Component Suite For Delphi XE2 [Edit]
Has anybody updated the Melander Drag and Drop Component Suite for Delphi XE2? http://melander.dk/delphi/dragdrop/ I've fixed a few errors preventing compilation in XE2 but have now run into something I don't understand. I'd thought I'd check here before spending more time muddling my way through. Edited by: shannon matthews on Sep 19, 2011 9:33 PM Edited by: shannon matthews on Sep 19, 2011 9:34 PM My problem was not enough coffee. I've now got the components installed. If anyone wants the updated source... > {quote:title=shannon matthews wrote:}{quote} ...

Web resources about - Drag-n-Drop in Delphi applications? - embarcadero.delphi.non-tech

Application - Wikipedia, the free encyclopedia
Text is available under the Creative Commons Attribution-ShareAlike License ;additional terms may apply. By using this site, you agree to the ...

The Bachelor 2016 application process can get explicit - Laurina Fleure
CHANNEL Ten is calling on singles to sign up for a chance to find love on The Bachelor , but willing applicants have to open a lot more than ...

Perth man’s Afghan wife slapped with 10-year visa application ban - PerthNow Search Search
A MAN’S three-year struggle to have his wife live with him in Australia has ended in heartache after his spouse was slapped with a 10-year ban. ...

MBA: Mortgage Applications Decrease in Latest MBA Weekly Survey, Purchase Applications up 24% YoY
From the MBA: Mortgage Applications Decrease in Latest MBA Weekly Surve Mortgage applications decreased 3.2 percent from one week earlier, according ...

Elon Musk Requests Applications For Autopilot Software Engineers On Twitter
... and more quickly achieve “generalized full autonomy.” So, if you ever wanted to work for Tesla in such a [&hellip Elon Musk Requests Applications ...

Mortgage applications fall 3.2%
A definitive rise in mortgage interest rates over the last month is keeping borrowers at bay.

Help wanted: Obama's tech-training project now accepting applications
Organizers of innovative training programs can now apply for a federal grant to help prepare low-wage workers for more-lucrative tech jobs.

Number Of Daily Applications To French Military TRIPLES Overnight
Number Of Daily Applications To French Military TRIPLES Overnight

PCB firm Unitech looks to automotive, IoT applications for 2016 growth
PCB maker Unitech Printed Circuit Board expects demand for any-layer designs for use in automotive electronics, wearables and other IoT-connected ...

Windows 10’s broken fall update removes user-installed applications without asking first
Microsoft's latest Windows 10 update is causing problems for at least some users, and uninstalling programs without the user's consent or evidence ...

Resources last updated: 11/30/2015 7:49:48 PM