wpDragOver - Example Code

In this example, objects that are not file system objects are prevented from being dropped on the Browse_O_matic.

SOM_Scope MRESULT   SOMLINK Browse_O_Maticwps_wpDragOver(Browse_O_Matic *somSelf,
                HWND hwndCnr,
                PDRAGINFO pdrgInfo)
{
    MRESULT mResult;
    ULONG   ulCount;
    ULONG   ulNumberOfObjects;

    /* Browse_O_MaticData *somThis = Browse_O_MaticGetData(somSelf); */
    Browse_O_MaticMethodDebug("Browse_O_Matic","Browse_O_Maticwps_wpDragOver");

    /********************************************************************/
    /* Don't call the parent. Initialize mResult to allow the drag over */
    /* to proceed.                                                      */
    /********************************************************************/
    mResult = MRFROM2SHORT( DOR_DROP, DO_MOVE);

    /*******************************************************************/
    /* Determine the number of objects dragged over the Browse-O-Matic */
    /*******************************************************************/
    ulNumberOfObjects = DrgQueryDragitemCount( pdrgInfo);

    /*************************/
    /* Check all the objects */
    /*************************/
    for( ulCount=0; ulCount < ulNumberOfObjects &&
                           SHORT1FROMMR( mResult) != DOR_NEVERDROP; ulCount++){

        /*****************************************/
        /* It must be a file system type object. */
        /*****************************************/
        if( DrgVerifyRMF( DrgQueryDragitemPtr( pdrgInfo, ulCount),
                                                         "DRM_OS2FILE", NULL))
            mResult = MRFROM2SHORT( DOR_DROP, SHORT2FROMMR( mResult));
        else
            mResult = MRFROM2SHORT( DOR_NEVERDROP, SHORT2FROMMR( mResult));
    }

    return( mResult);
}


[Back: wpDragOver - Related Methods]
[Next: wpDragOver - Topics]