This example calls the DrgPostTransferMsg function to respond to a DM_RENDER message from the target. The response consists of a DM_RENDERCOMPLETE message, plus a flag indicating whether the render was successful (DMFL_RENDEROK) or not (DMFL_RENDERFAIL).
#define INCL_WINSTDDRAG /* Direct Manipulation (Drag) Functions */ #include <os2.h> MPARAM mp1; /* Message parameter 1 */ BOOL fSuccess; /* Indicate success or failure */ BOOL Rendered; /* Success of render operation */ PDRAGTRANSFER pdxfer; /* Pointer to DRAGTRANSFER structure */ case DM_RENDER: pdxfer = (PDRAGTRANSFER)PVOIDFROMMP(mp1); /* Get DRAGTRANSFER */ /* structure */ /************************************************************/ /* Attempt to render file */ /************************************************************/ if (Rendered) { fSuccess = DrgPostTransferMsg(pdxfer->pditem, DM_RENDERCOMPLETE, pdxfer, DMFL_RENDEROK, 0,FALSE); return (MRESULT)TRUE; } else { fSuccess = DrgPostTransferMsg(pdxfer->pditem, DM_RENDERCOMPLETE, pdxfer, DMFL_RENDERFAIL, 0,FALSE); return (MRESULT)FALSE; }