conutil.c
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 2k
Category:

Windows Kernel

Development Platform:

Visual C++

  1. //****************************************************************************
  2. //
  3. //  Module:     RNAUI.DLL
  4. //  File:       conutil.c
  5. //  Content:    This file contains common container's utilities
  6. //  History:
  7. //      Tue 30-Nov-1993 07:42:02  -by-  Viroon  Touranachun [viroont]
  8. //
  9. //  Copyright (c) Microsoft Corporation 1991-1994
  10. //
  11. //****************************************************************************
  12. #include "rnaui.h"
  13. #include "contain.h"
  14. #ifdef LINK_ENABLED
  15. typedef struct tagENUMBROWSER
  16. {
  17. DWORD dwData;
  18. ENUMOBJECTS lpfnEnumObjects;
  19. IShellView FAR * psv;
  20. FILEINFO fi;
  21. } ENUMBROWSER ;
  22. FILEINFO FAR * CALLBACK EnumBrowserObjects(ENUMBROWSER FAR *lpData, LPSTR pszObject, LPSTR pszSubObject, LPPOINT pptScreen)
  23. {
  24. char szWorkingDir[MAXPATHLEN];
  25. if ((*(lpData->lpfnEnumObjects))(lpData->psv, &(lpData->dwData),
  26. &(lpData->fi), FCE_NEXTOBJECT | FCE_SELECTED, pszObject, pszSubObject,
  27. szWorkingDir, pptScreen))
  28. {
  29. return(&lpData->fi);
  30. }
  31. else
  32. {
  33. return(NULL);
  34. }
  35. }
  36. void FAR PASCAL Generic_HandleLink(IShellView FAR * psv, HWND hWnd, ENUMOBJECTS lpfnEnumObjects)
  37. {
  38. ENUMBROWSER sData;
  39. sData.dwData = 0L;
  40. sData.lpfnEnumObjects = lpfnEnumObjects;
  41. sData.psv = psv;
  42. (*(sData.lpfnEnumObjects))(sData.psv, &(sData.dwData),
  43. NULL, FCE_INIT, NULL, NULL, NULL, NULL);
  44. Shell_HandleCommand(EnumBrowserObjects, &sData, hWnd, FCIDM_LINK);
  45. (*(sData.lpfnEnumObjects))(sData.psv, &(sData.dwData),
  46. NULL, FCE_TERM, NULL, NULL, NULL, NULL);
  47. }
  48. #endif  // LINK_ENABLED
  49. // convert screen coords to listview view coordinates
  50. //
  51. void FAR PASCAL ScreenToLV(HWND hwndLV, LPPOINT ppt)
  52. {
  53.     POINT ptOrigin;
  54.     ListView_GetOrigin(hwndLV, &ptOrigin);
  55.     ScreenToClient(hwndLV, ppt);
  56.     ppt->x += ptOrigin.x;
  57.     ppt->y += ptOrigin.y;
  58. }