ID Number: Q69883
3.00
WINDOWS
Summary:
When an application sends a WM_DDE_REQUEST message and the server
application replies with a WM_DDE_DATA message, the format of the data
returned in the Value[] member of the DDEDATA structure is not always
the same, but depends on the value of the cfFormat member of the
structure.
More Information:
The server application defines the data returned in the Value[] member
of the DDEDATA structure. This data must be in one of the formats used
to pass data to the Clipboard. The standard clipboard data formats and
a description of their data are defined in the documentation for the
SetClipboardData() function on pages 4-370 and 4-371 in the "Microsoft
Windows Software Development Kit Reference Volume 1". For example, for
the CF_TEXT format, the actual data is returned from the DDE server,
and for the CF_BITMAP format, a handle to the bitmap is sent.
The table is not explicit as to what data is returned for the
CF_METAFILEPICT data format. The Value[] parameter contains a handle
to a global memory block containing a METAFILEPICT structure. To
access this structure, call GlobalLock() to get a pointer to the
memory and cast the pointer to LPMETAFILEPICT. For example:
LPMETAFILEPICT lpMFP;
lpMFP = (LPMETAFILEPICT)GlobalLock(lpDDEData->Value);
At this stage, the metafile bits may be copied with the following
statement:
hMFBits = CopyMetaFile(lpMFP->hMF, NULL);