Drag and drop form design with DelphiDrop
(i) Dragging cells from Excel:
(ii) Dragging a URL from Internet Explorer:
Download your free copy:
DelphiDrop requires CodeRush version 4.02k (released April 30, 1999) or a more recent version of CodeRush 4 (including the final release, version 4.02r), or CodeRush version 5.03e or a more recent version of CodeRush 5.
DelphiDrop is a set of IDE enhancements for Borland Delphi's integrated development environment (IDE). It requires that you have CodeRush by Eagle Software installed on your computer. We are making DelphiDrop available free to the Delphi community both as a useful tool and a demonstration of the kind of things you can do with DropMaster.
- Enhanced text editor drag and drop DelphiDrop enhances text drag and drop in the Delphi editor by overriding the standard drag and drop and replacing it with OLE drag and drop. This means you can drag text from the IDE to other applications, and to the IDE from other applications, as well as within the IDE.
- Enhanced file dropping The Delphi IDE will attempt to open ANY file dropped on it, even binaries it cannot possibly read. DelphiDrop allows you the option of selecting exactly which kinds of file will be accepted by the IDE.
- Snippet drag and drop You can drag text from the IDE and drop it on an Explorer folder or the Windows desktop, making a DelphiDrop Snippet (.snp) file. Snippet files can be dragged to the IDE and either opened or (the default) inserted at the current cursor location. This means that DelphiDrop Snippet files allow you to use the desktop or an Explorer folder (or set of folders) as a simple drag and drop code snippet repository.
- Form design by drag and drop Arguably the coolest feature of DelphiDrop. Drag text or other content from any application onto a form you're designing in the IDE, and you get a pop-up menu (see the pictures immediately to the left) that allows you to choose how to interpret the dropped content. The dropped content is used to construct an appropriate component, which is inserted for you into the form, or into a container control (TCustomPanel, TCustomGroupBox, TTabSheet, TScrollBox) if you drop on one.
|When you drop...
|...you can insert
Rich Text Format (RTF), e.g., from Microsoft Word
Since the design-time RTF would otherwise be converted to plaintext at runtime for a standard TRichEdit, we provide the source code for TUORichEdit, a TRichEdit descendant that can persist its RTF even through changes in the window handle.
- A TUORichEdit containing that formatted content.
- A TUORichEdit formatted to look like a label, containing that formatted content (i.e., no text cursor or input, no border, transparent background).
A device-independent bitmap (DIB), a device-dependent bitmap (DDB) or an enhanced metafile (i.e., just about any graphical content)
- A TImage containing the dropped graphic.
A URL from Internet Explorer or Netscape
DelphiDrop also inserts an OnClick handler for the TLabel that calls ShellExecute to open the URL in your default browser (or e-mail client, for mailto: URLs, etc). In other words, drop a URL, and you get a fully-functional hyperlink label on your form!
- A blue, underlined TLabel with default cursor set to a pointing hand.
Text (one or more lines)
- One or more TLabels, arranged vertically
- A TEdit (for one line) or a TMemo (for multiple lines)
- One or more TRadioButtons, arranged vertically
- One or more TCheckBoxes, arranged vertically
- One or more TButtons, arranged vertically
- A TListBox containing each of the dropped lines
- A dropdown list style TComboBox containing each of the dropped lines
- A TRadioGroup with a button for each of the dropped lines
- A TPageControl with a tab pages named for each of the dropped lines
- A TListView with column headers made from the first line, and list items for all other dropped lines. Tabs within dropped lines are assumed to designate columns
- A TTreeView. Each of the dropped lines is assumed to designate a path representation for a tree branch, with levels delimited by tabs (thanks to Mike Orriss for the path-to-tree code).