Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Is there an OLE drag/drop viewer?
Message
De
16/09/2000 23:08:29
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
00417271
Message ID:
00417374
Vues:
19
>Mike, maybe you can help me with the exact D&D problem I'm trying to solve. When you drag a web page (i.e., drag the icon from L-upper corner of an IE window), more than one datatype is put onto the OLE clipbooard. One of them, I think, is "UniformResourceLocator". That type holds _only_ the URL. However, if you D&D onto the Win desktop, you get both the URL _and_ the web page title morphed into a Windows shortcut. I want to create a URL bucket for my VFP app (i.e., web pages dragged/dropped onto a VFP control) so that both the URL _and_ the page title can be be stored within our database app. How do I do that?
>

The WinAPI lets you examine the content of the keyboard buffer in a way that _CLIPTEXT will not. Essentially, you open the clipboard using OpenClipboard(). If you get control, you then use EnumClipboardFormats() to collect a list of clipboard formats present, which are enumerated from zero, and will be one of the following

Platform SDK: Interprocess Communications
Standard Clipboard Formats
The clipboard formats defined by the system are called standard clipboard formats. These clipboard formats are described in the following table.

Value Meaning
CF_BITMAP A handle to a bitmap (HBITMAP).
CF_DIB A memory object containing a BITMAPINFO structure followed by the bitmap bits.
CF_DIBV5 Windows 2000: A memory object containing a BITMAPV5HEADER structure followed by the bitmap color space information and the bitmap bits.
CF_DIF Software Arts' Data Interchange Format.
CF_DSPBITMAP Bitmap display format associated with a private format. The hMem parameter must be a handle to data that can be displayed in bitmap format in lieu of the privately formatted data.
CF_DSPENHMETAFILE Enhanced metafile display format associated with a private format. The hMem parameter must be a handle to data that can be displayed in enhanced metafile format in lieu of the privately formatted data.
CF_DSPMETAFILEPICT Metafile-picture display format associated with a private format. The hMem parameter must be a handle to data that can be displayed in metafile-picture format in lieu of the privately formatted data.
CF_DSPTEXT Text display format associated with a private format. The hMem parameter must be a handle to data that can be displayed in text format in lieu of the privately formatted data.
CF_ENHMETAFILE A handle to an enhanced metafile (HENHMETAFILE).
CF_GDIOBJFIRST through CF_GDIOBJLAST Range of integer values for application-defined GDI object clipboard formats. Handles associated with clipboard formats in this range are not automatically deleted using the GlobalFree function when the clipboard is emptied. Also, when using values in this range, the hMem parameter is not a handle to a GDI object, but is a handle allocated by the GlobalAlloc function with the GMEM_MOVEABLE flag.
CF_HDROP A handle to type HDROP that identifies a list of files. An application can retrieve information about the files by passing the handle to the DragQueryFile functions.
CF_LOCALE The data is a handle to the locale identifier associated with text in the clipboard. When you close the clipboard, if it contains CF_TEXT data but no CF_LOCALE data, the system automatically sets the CF_LOCALE format to the current input locale. You can use the CF_LOCALE format to associate a different locale with the clipboard text.
An application that pastes text from the clipboard can retrieve this format to determine which character set was used to generate the text.

Note that the clipboard does not support plain text in multiple character sets. To achieve this, use a fomatted text data type such as RTF instead.

Windows NT/ 2000: The system uses the code page associated with CF_LOCALE to implicitly convert from CF_TEXT to CF_UNICODETEXT. Therefore, the correct code page table is used for the conversion.

CF_METAFILEPICT Handle to a metafile picture format as defined by the METAFILEPICT structure. When passing a CF_METAFILEPICT handle by means of dynamic data exchange (DDE), the application responsible for deleting hMem should also free the metafile referred to by the CF_METAFILEPICT handle.
CF_OEMTEXT Text format containing characters in the OEM character set. Each line ends with a carriage return/linefeed (CR-LF) combination. A null character signals the end of the data.
CF_OWNERDISPLAY Owner-display format. The clipboard owner must display and update the clipboard viewer window, and receive the WM_ASKCBFORMATNAME, WM_HSCROLLCLIPBOARD, WM_PAINTCLIPBOARD, WM_SIZECLIPBOARD, and WM_VSCROLLCLIPBOARD messages. The hMem parameter must be NULL.
CF_PALETTE Handle to a color palette. Whenever an application places data in the clipboard that depends on or assumes a color palette, it should place the palette on the clipboard as well.
If the clipboard contains data in the CF_PALETTE (logical color palette) format, the application should use the SelectPalette and RealizePalette functions to realize (compare) any other data in the clipboard against that logical palette.
When displaying clipboard data, the clipboard always uses as its current palette any object on the clipboard that is in the CF_PALETTE format.

CF_PENDATA Data for the pen extensions to the Microsoft® Windows® for Pen Computing.
CF_PRIVATEFIRST through CF_PRIVATELAST Range of integer values for private clipboard formats. Handles associated with private clipboard formats are not freed automatically; the clipboard owner must free such handles, typically in response to the WM_DESTROYCLIPBOARD message.
CF_RIFF Represents audio data more complex than can be represented in a CF_WAVE standard wave format.
CF_SYLK Microsoft Symbolic Link (SYLK) format.
CF_TEXT Text format. Each line ends with a carriage return/linefeed (CR-LF) combination. A null character signals the end of the data. Use this format for ANSI text.
CF_WAVE Represents audio data in one of the standard wave formats, such as 11 kHz or 22 kHz pulse code modulation (PCM).
CF_TIFF Tagged-image file format.
CF_UNICODETEXT Windows NT/ 2000: Unicode text format. Each line ends with a carriage return/linefeed (CR-LF) combination. A null character signals the end of the data.
Find the items on the clipboard that you want. For each item you want to read, issue a GetClipboardData() for the enumerated item, which returns a handle to a clipboard data block. You then need somewhere to receive the Window clipboard format. It's not easy.

An alternative is to use the RichEditTextbox control; it's IRichEditOLE interface has a GetClipboardData method that will cut a selected clipboard item and paste it into the RichTextBox. When I've needed this functionality in the past, to move highlighted text from cells of an Excel spreadsheet into VFP, I've created an ActiveX Control in VB derived from the RichTextBox; it's significantly easier. It will require you to create and distribute the ActiveX control written in VB, the RichEdit control RichEd20.DLL, and the necessary supoort files with the VFP app - they need to install on each target system.

Built on Monday, April 17, 2000

>Thanks very much.
EMail: EdR@edrauh.com
"See, the sun is going down..."
"No, the horizon is moving up!"
- Firesign Theater


NT and Win2K FAQ .. cWashington WSH/ADSI/WMI site
MS WSH site ........... WSH FAQ Site
Wrox Press .............. Win32 Scripting Journal
eSolutions Services, LLC

The Surgeon General has determined that prolonged exposure to the Windows Script Host may be addictive to laboratory mice and codemonkeys
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform