| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535 |
- <html>
- <head>
- <meta http-equiv="Content-Type"
- content="text/html; charset=iso-8859-1">
- <meta name="AUTHOR" content="Dieter Steinwedel">
- <meta name="DESCRIPTION"
- content="Drag&Drop component for Delphi; description for TDragDropBitmap">
- <meta name="KEYWORDS"
- content="delphi, drag, drop, component, bitmap, dib, com, ole, freeware, windows">
- <meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
- <title>Details about TDragDropBitmap</title>
- </head>
- <body bgcolor="#FFFFEF">
- <table border="0" cellspacing="0" width="600" bgcolor="#008080">
- <tr>
- <td width="10"> </td>
- <td width="580"> </td>
- <td width="10" bgcolor="#FFFFEF"> </td>
- </tr>
- <tr>
- <td> </td>
- <td><p align="center"><font color="#FFFFFF" size="7"
- face="Arial">TDragDropBitmap</font></p>
- </td>
- <td> </td>
- </tr>
- <tr>
- <td bgcolor="#FFFFEF"> </td>
- <td> </td>
- <td> </td>
- </tr>
- </table>
- <p align="left"> </p>
- <p align="left"> </p>
- <table border="0" width="600">
- <tr>
- <td width="10" bgcolor="#008080" height="10"> </td>
- <td rowspan="2" width="590"><font size="5" face="Arial">Description</font></td>
- </tr>
- <tr>
- <td> </td>
- </tr>
- <tr>
- <td> </td>
- <td><font face="Arial"><b><i>TDragDropBitmap</i></b> is a
- comfortable and powerful component for COM/OLE drag&drop
- operations with bitmaps. The component is a child-class
- from </font><a href="TDragDrop.htm"><font face="Arial"><b><i>TDragDrop</i></b></font></a><font
- face="Arial">.</font></td>
- </tr>
- <tr>
- <td height="50"> </td>
- <td> </td>
- </tr>
- </table>
- <table border="0" width="600">
- <tr>
- <td width="10" bgcolor="#008080" height="10"> </td>
- <td rowspan="2" width="590"><font size="5" face="Arial">Important
- for Use</font></td>
- </tr>
- <tr>
- <td> </td>
- </tr>
- <tr>
- <td> </td>
- <td><font face="Arial">This </font><a href="Index.htm"><font
- face="Arial">file</font></a><font face="Arial"> (index.htm)
- contains more information about restrictions, the
- disclaimer, remarks etc.</font></td>
- </tr>
- <tr>
- <td height="50"> </td>
- <td> </td>
- </tr>
- </table>
- <table border="0" width="600">
- <tr>
- <td width="10" bgcolor="#008080" height="10"> </td>
- <td rowspan="2" width="590"><font size="5" face="Arial">History</font></td>
- </tr>
- <tr>
- <td> </td>
- </tr>
- <tr>
- <td> </td>
- <td><font face="Arial"><b>Version 2.10</b> </font><font
- color="#808080" face="Arial">published on 06-Jul-1999</font></td>
- </tr>
- <tr>
- <td> </td>
- <td><ul>
- <li><font face="Arial">Code re-design in result of
- modifications in <b><i>TDragDrop</i></b>;
- handling hasn't changed</font></li>
- </ul>
- </td>
- </tr>
- <tr>
- <td> </td>
- <td><font face="Arial"><b>Version 2.01</b> </font><font
- color="#808080" face="Arial">published on 07-Oct-1998</font><font
- face="Arial"> </font></td>
- </tr>
- <tr>
- <td> </td>
- <td><ul>
- <li><font face="Arial">Small invisible bugs fixed</font></li>
- </ul>
- </td>
- </tr>
- <tr>
- <td> </td>
- <td><font face="Arial"><b>Version 2.00</b> </font><font
- color="#808080" face="Arial">published on 03-Oct-1998</font></td>
- </tr>
- <tr>
- <td> </td>
- <td><ul>
- <li><font face="Arial">Total internal re-design due
- to modifications of the superclass, but the
- handling hasn't changed</font></li>
- </ul>
- </td>
- </tr>
- <tr>
- <td> </td>
- <td><font face="Arial"><b>Version 1.00</b> </font><font
- color="#808080" face="Arial">published on 06-Aug-1998</font><font
- face="Arial"> </font></td>
- </tr>
- <tr>
- <td> </td>
- <td><ul>
- <li><font face="Arial">First official release</font></li>
- </ul>
- </td>
- </tr>
- <tr>
- <td height="50"> </td>
- <td colspan="2"> </td>
- </tr>
- </table>
- <table border="0" width="600">
- <tr>
- <td width="10" bgcolor="#008080" height="10"> </td>
- <td rowspan="2" width="590"><font size="5" face="Arial">Properties</font></td>
- </tr>
- <tr>
- <td> </td>
- </tr>
- </table>
- <table border="0" cellpadding="3" cellspacing="0" width="600">
- <tr>
- <td width="10"> </td>
- <td bgcolor="#008080"><font color="#FFFFFF" size="5"
- face="Arial"><strong>inherited properties</strong></font></td>
- </tr>
- <tr>
- <td rowspan="2"> </td>
- <td bgcolor="#FFFFCC"><a href="TDragDrop.htm#Properties"><font
- face="Arial">Click here ...</font></a></td>
- </tr>
- <tr>
- <td bgcolor="#FFFFEF"> </td>
- </tr>
- <tr>
- <td> </td>
- <td bgcolor="#008080"><a name="Bitmap"><font
- color="#FFFFFF" size="5" face="Arial"><b>Bitmap</b></font></a><font
- color="#FFFFFF" size="5" face="Arial"><b> </b></font><font
- color="#FFFF80" size="2" face="Arial"><b><i>public</i></b></font></td>
- </tr>
- <tr>
- <td rowspan="2"> </td>
- <td bgcolor="#FFFFCC"><font size="3" face="Arial"><b>For
- Target:</b> Use this bitmap in </font><a
- href="TDragDrop.htm#OnProcessDropped"><font size="3"
- face="Arial"><b><i>OnProcessDropped</i></b></font></a><font
- size="3" face="Arial">, if you want to get the dropped
- bitmap (DIB).</font><p><font size="3" face="Arial"><b>For
- Source:</b> Assign your bitmap, which you want to drag&drop,
- to <b><i>Bitmap</i></b> before calling </font><a
- href="#Execute"><font size="3" face="Arial"><b><i>Execute</i></b></font></a><font
- size="3" face="Arial">. </font></p>
- </td>
- </tr>
- <tr>
- <td bgcolor="#FFFFEF" height="50"> </td>
- </tr>
- </table>
- <table border="0" width="600">
- <tr>
- <td width="10" bgcolor="#008080" height="10"> </td>
- <td rowspan="2" width="590"><font size="5" face="Arial">Events</font></td>
- </tr>
- <tr>
- <td> </td>
- </tr>
- </table>
- <table border="0" cellpadding="3" cellspacing="0" width="600">
- <tr>
- <td width="10"> </td>
- <td bgcolor="#008080"><font color="#FFFFFF" size="5"
- face="Arial"><strong>inherited events</strong></font></td>
- </tr>
- <tr>
- <td rowspan="2"> </td>
- <td bgcolor="#FFFFCC"><a href="TDragDrop.htm#Events"><font
- face="Arial">Click here ...</font></a></td>
- </tr>
- <tr>
- <td bgcolor="#FFFFEF" height="50"> </td>
- </tr>
- </table>
- <table border="0" width="600">
- <tr>
- <td width="10" bgcolor="#008080" height="10"> </td>
- <td rowspan="2" width="590"><font size="5" face="Arial">Methods</font></td>
- </tr>
- <tr>
- <td> </td>
- </tr>
- </table>
- <table border="0" cellpadding="3" cellspacing="0" width="600">
- <tr>
- <td width="10"> </td>
- <td bgcolor="#008080"><font color="#FFFFFF" size="5"
- face="Arial"><strong>inherited methods</strong></font></td>
- </tr>
- <tr>
- <td rowspan="2"> </td>
- <td bgcolor="#FFFFCC"><a href="TDragDrop.htm#Methods"><font
- face="Arial">Click here ...</font></a></td>
- </tr>
- <tr>
- <td bgcolor="#FFFFEF"> </td>
- </tr>
- <tr>
- <td> </td>
- <td bgcolor="#008080"><a name="Execute"><font
- color="#FFFFFF" size="5" face="Arial"><b>Execute</b></font></a><font
- color="#FFFFFF" size="5" face="Arial"><b> </b></font><font
- color="#FFFF80" size="2" face="Arial"><b><i>public</i></b></font></td>
- </tr>
- <tr>
- <td rowspan="2"> </td>
- <td bgcolor="#FFFFCC"><font size="3" face="Arial">Call
- this method, if you detect that the user wants to start a
- drag&drop operation (e.g. MouseDown+MouseMove). Also
- look: </font><a href="#Bitmap"><font size="3"
- face="Arial"><em><strong>Bitmap</strong></em></font></a><font
- size="3" face="Arial">.</font><p><font size="3"
- face="Arial">For drag detection you can also use the
- inherited property </font><a
- href="TDragDrop.htm#AutoDetectDnD"><font size="3"
- face="Arial"><em><strong>AutotDetectDnD</strong></em></font></a><font
- size="3" face="Arial"> or the method </font><a
- href="TDragDrop.htm#StartDnDDetection"><font size="3"
- face="Arial"><em><strong>StartDnDDetection</strong></em></font></a><font
- size="3" face="Arial">.</font></p>
- <p><font size="3" face="Arial">IMPORTANT: If you use the
- drag-detection, it's high recommended to check the
- section "</font><a
- href="TDragDrop.htm#DragDetectionProblem"><font size="3"
- face="Arial">Problems With The Drag-Detection</font></a><font
- size="3" face="Arial">".</font></p>
- </td>
- </tr>
- <tr>
- <td bgcolor="#FFFFEF" height="50"> </td>
- </tr>
- </table>
- <table border="0" width="600">
- <tr>
- <td width="10" bgcolor="#008080" height="10"> </td>
- <td rowspan="2" width="590"><a name="Specifics"><font
- size="5" face="Arial">Specfics On Using This Component</font></a></td>
- </tr>
- <tr>
- <td> </td>
- </tr>
- <tr>
- <td> </td>
- <td><font size="3" face="Arial">You can't use a TImage as
- </font><a href="TDragDrop.htm#DragDropControl"><font
- size="3" face="Arial"><strong><i>DragDropControl</i></strong></font></a><font
- size="3" face="Arial">, because TImage isn't derivatived
- from TWinControl. You can only do that with a small trick:
- Put a panel under your image and you haven't to think
- about any trouble. Use the event "OnMouseDown"
- from the TImage to start drag&drop otherwise it doesn't
- work. </font></td>
- </tr>
- <tr>
- <td> </td>
- <td height="50"> </td>
- </tr>
- </table>
- <table border="0" width="600">
- <tr>
- <td width="10" bgcolor="#008080" height="10"> </td>
- <td rowspan="2" colspan="2" width="590"><font size="5"
- face="Arial">How Do I Use It As Drag&Drop Source</font></td>
- </tr>
- <tr>
- <td> </td>
- </tr>
- <tr>
- <td> </td>
- <td valign="top"><font face="Arial">1.</font></td>
- <td><font face="Arial">Drop a TWinControl on the form (e.g.
- a panel). Place the image in it (more details: </font><a
- href="#Specifics"><font face="Arial">Specifics On Using
- This Component</font></a><font face="Arial">).</font></td>
- </tr>
- <tr>
- <td> </td>
- <td valign="top"><font face="Arial">2.</font></td>
- <td><font face="Arial">Choose the TWinControl (panel) in </font><a
- href="TDragDrop.htm#DragDropControl"><font face="Arial"><em><strong>DragDropControl</strong></em></font></a><font
- face="Arial">.</font></td>
- </tr>
- <tr>
- <td> </td>
- <td valign="top"><font face="Arial">3. </font></td>
- <td><font face="Arial">Choose the drag&drop effects
- under </font><a href="TDragDrop.htm#SourceEffects"><font
- face="Arial"><em><strong>SourceEffects</strong></em></font></a><font
- face="Arial"> which the <em><strong>DragDropControl </strong></em>(panel)
- should support. If you don't want any longer that the <em><strong>DragDropControl</strong></em>
- serve as drag&drop source all items must be set to
- false.</font></td>
- </tr>
- <tr>
- <td> </td>
- <td valign="top"><font face="Arial">4.</font></td>
- <td><font face="Arial">Now, your <em><strong>DragDropControl</strong></em>
- (panel) must detect, when the user wants to start a drag&drop
- operation. You can use the event "OnMouseDown"
- of your <em><strong>DragDropControl</strong></em> (panel).
- Add following to the event:</font><blockquote>
- <p><font face="Arial"><code>DragDropBitmap1.Bitmap:=Image1.Picture.Bitmap;</code></font></p>
- </blockquote>
- </td>
- </tr>
- <tr>
- <td> </td>
- <td valign="top"><font face="Arial">5.</font></td>
- <td valign="top"><font face="Arial">Tell Windows that
- there is a drag&drop operation to handle: Just call
- the method </font><a href="TDragDrop.htm#Execute"><font
- face="Arial"><em><strong>Execute</strong></em></font></a><font
- face="Arial"> of this component. </font></td>
- </tr>
- <tr>
- <td valign="top"> </td>
- <td valign="top"><font face="Arial">6.</font></td>
- <td valign="top"><font size="3" face="Arial">You may use
- the events </font><a href="TDragDrop.htm#OnGiveFeedback"><font
- size="3" face="Arial"><b><i>OnGiveFeedback</i></b></font></a><font
- size="3" face="Arial"> and </font><a
- href="TDragDrop.htm#OnQueryContinueDrag"><font size="3"
- face="Arial"><b><i>OnQueryContinueDrag</i></b></font></a><font
- size="3" face="Arial">, but often you need not.</font></td>
- </tr>
- <tr>
- <td valign="top"> </td>
- <td valign="top"> </td>
- <td valign="top"> </td>
- </tr>
- <tr>
- <td valign="top"> </td>
- <td valign="top" colspan="2"><font face="Arial"><strong>Hints:</strong></font></td>
- </tr>
- <tr>
- <td valign="top"> </td>
- <td valign="top" colspan="2"><ul>
- <li><font size="3" face="Arial">Drag&drop
- operations cannot be done at design-time!</font></li>
- <li><font size="3" face="Arial">IMPORTANT: If you use
- the drag-detection, it's high recommended to
- check the section "</font><a
- href="TDragDrop.htm#DragDetectionProblem"><font
- size="3" face="Arial">Problems With The Drag-Detection</font></a><font
- size="3" face="Arial">".</font></li>
- </ul>
- </td>
- </tr>
- <tr>
- <td height="50"> </td>
- <td colspan="2"> </td>
- </tr>
- </table>
- <table border="0" width="600">
- <tr>
- <td width="10" bgcolor="#008080" height="10"> </td>
- <td rowspan="2" colspan="2" width="590"><font size="5"
- face="Arial">How Do I Use It As Drag&Drop Target</font></td>
- </tr>
- <tr>
- <td> </td>
- </tr>
- <tr>
- <td> </td>
- <td valign="top"><font face="Arial">1.</font></td>
- <td><font face="Arial">Drop a TWinControl on the form (e.g.
- a panel). Place the image in it (more details: </font><a
- href="#Specifics"><font face="Arial">Specifics On Using
- This Component</font></a><font face="Arial">).</font></td>
- </tr>
- <tr>
- <td> </td>
- <td valign="top"><font face="Arial">2.</font></td>
- <td><font face="Arial">Choose the TWinControl (panel) in </font><a
- href="TDragDrop.htm#DragDropControl"><font face="Arial"><em><strong>DragDropControl</strong></em></font></a><font
- face="Arial">.</font></td>
- </tr>
- <tr>
- <td> </td>
- <td valign="top"><font face="Arial">3. </font></td>
- <td><font face="Arial">Choose the drag&drop effects
- under </font><a href="TDragDrop.htm#TargetEffects"><font
- face="Arial"><em><strong>TargetEffects</strong></em></font></a><font
- face="Arial"> which the <em><strong>DragDropControl </strong></em>(panel)
- should support. If you don't want any longer that the <em><strong>DragDropControl</strong></em>
- serve as drag&drop target, all items must be set to
- false.</font></td>
- </tr>
- <tr>
- <td> </td>
- <td valign="top"><font face="Arial">4.</font></td>
- <td><font size="3" face="Arial">Now, you have to program
- what happen, if the user drops a bitmap on your </font><a
- href="TDragDrop.htm#DragDropControl"><font size="3"
- face="Arial"><b><i>DragDropControl</i></b></font></a><font
- size="3" face="Arial"> (panel). For this, the best is to
- use the event </font><a
- href="TDragDrop.htm#OnProcessDropped"><font size="3"
- face="Arial"><b><i>OnProcessDropped</i></b></font></a><font
- size="3" face="Arial">. At first, you should check what
- drag&drop effect was chosen by the user. You get the
- effect from method's parameter <b><i>dwEffect</i></b>.
- You get the bitmap from this component with following
- line:</font><blockquote>
- <p><font face="Arial"><code>Image1.Picture.Bitmap:=DragDropBitmap1.Bitmap;</code></font></p>
- </blockquote>
- </td>
- </tr>
- <tr>
- <td> </td>
- <td valign="top"><font face="Arial">5.</font></td>
- <td valign="top"><font size="3" face="Arial">You may use
- the events </font><a href="TDragDrop.htm#OnDragEnter"><font
- size="3" face="Arial"><b><i>OnDragEnter</i></b></font></a><font
- size="3" face="Arial">, </font><a
- href="TDragDrop.htm#OnDragOver"><font size="3"
- face="Arial"><b><i>OnDragOver</i></b></font></a><font
- size="3" face="Arial"> and </font><a
- href="TDragDrop.htm#OnDragLeave"><font size="3"
- face="Arial"><b><i>OnDragLeave</i></b></font></a><font
- size="3" face="Arial">, but often you need not.</font></td>
- </tr>
- <tr>
- <td valign="top"> </td>
- <td valign="top"> </td>
- <td valign="top"> </td>
- </tr>
- <tr>
- <td valign="top"> </td>
- <td valign="top" colspan="2"><font face="Arial"><strong>Hints:</strong></font></td>
- </tr>
- <tr>
- <td valign="top"> </td>
- <td valign="top" colspan="2"><ul>
- <li><font size="3" face="Arial">Drag&drop
- operations cannot be done at design-time!</font></li>
- </ul>
- </td>
- </tr>
- <tr>
- <td height="50"> </td>
- <td colspan="2"> </td>
- </tr>
- </table>
- <table border="0" width="600">
- <tr>
- <td width="10" bgcolor="#008080" height="10"> </td>
- <td rowspan="2" width="590"><font size="5" face="Arial">Known
- Bugs</font></td>
- </tr>
- <tr>
- <td> </td>
- </tr>
- <tr>
- <td> </td>
- <td><ul>
- <li><font face="Arial">I hope you never find one</font></li>
- </ul>
- </td>
- </tr>
- <tr>
- <td height="50"> </td>
- <td> </td>
- </tr>
- </table>
- <hr>
- <p><font size="3" face="Arial"><i>© 1998,99 by </i></font><a
- href="mailto:[email protected]"><font size="3" face="Arial"><i>Dieter
- Steinwedel</i></font></a><font size="3" face="Arial"> </font></p>
- <p><a href="Index.htm"><font face="Arial">Back</font></a><font
- face="Arial"> to index</font></p>
- </body>
- </html>
|