Subj : Icon position.
To   : Ian Moote
From : Herbert Rosenau
Date : Tue Jul 04 2000 05:36 am

Am 24.06.00 14:22 schrieb Ian Moote

IM> Where does the WorkPlace Shell store icon positions? Are there
IM> WPS calls to manipulate this value?

To set a position you must be an wpFolderObject and override the
wpSetNextIconPos().

To change a currently existent Position you must drag&drop it.

You has no chance to do that outside WPS.

This example shows how you can use the wpInitIconPosData, wpIdentify,
wpQueryIconPosition, and wpFreeIconPosData
methods to find the icon position information for all objects within a folder.
In this example, somSelf contains the pointer to
the folder being examined.

    BOOL        bSem;
    WPObject    *Object;
    CHAR        szIdentity[CCHMAXSTRING];
    POINTL      ptl;
    ULONG       ulIndex;

    /* Retrieve the icon position information for all objects within
     * the folder    */
    _wpInitIconPosData(somSelf);

    /* Find the every object within the folder   */
    bSem = !_wpRequestObjectMutexSem(somSelf,SEM_INDEFINITE_WAIT);
    for (Object = _wpQueryContent(somSelf,NULL,QC_FIRST);
         Object;
         Object = _wpQueryContent(somSelf,Object,QC_NEXT));
    {

       /* For each object in the folder, find the position of its icon
        * in an Icon View of the folder   */
       if (_wpIdentify(Object,szIdentity))
       {
          if (_wpQueryIconPosition(somSelf,szIdentity,&ptl,&ulIndex))
          {
             /***** ptl contains the position of the icon for this object
*****/
          }
       }
    }
    if (bSem)
    {
       _wpReleaseObjectMutexSem(somSelf);
    }

    /* Free the icon position data structure    */
    _wpFreeIconPosData(somSelf);







--- Sqed/32 1.15/development  891:
* Origin: Wenn man Australien kommt, ist man gleich Indonesien! (2:2476/493)