Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.5 KiB

  1. #ifndef _FSMENU_H
  2. #define _FSMENU_H
  3. #include <objbase.h>
  4. // Message values for callback
  5. #define FMM_ADD 0
  6. #define FMM_SETLASTPIDL 1
  7. typedef HRESULT (CALLBACK *PFNFMCALLBACK)(UINT fmm, LPARAM lParam, IShellFolder *psf, LPCITEMIDLIST pidl);
  8. // Structure for composing a filemenu
  9. typedef struct
  10. {
  11. DWORD dwMask; // FMC_ flags
  12. UINT idCmd;
  13. DWORD grfFlags; // SHCONTF_ flags
  14. IShellFolder *psf;
  15. PFNFMCALLBACK pfnCallback; // Callback
  16. LPARAM lParam; // Callback's LPARAM
  17. OUT int cItems; // Returned
  18. } FMCOMPOSE;
  19. // Mask values for FMCOMPOSE.dwMask
  20. #define FMC_NOEXPAND 0x00000001
  21. // Method ordinals for FileMenu_Compose
  22. #define FMCM_INSERT 0
  23. #define FMCM_APPEND 1
  24. #define FMCM_REPLACE 2
  25. STDAPI FileMenu_Compose(HMENU hmenu, UINT nMethod, FMCOMPOSE *pfmc);
  26. STDAPI_(BOOL) FileMenu_HandleNotify(HMENU hmenu, LPCITEMIDLIST * ppidl, LONG lEvent);
  27. STDAPI_(BOOL) FileMenu_IsUnexpanded(HMENU hmenu);
  28. STDAPI_(void) FileMenu_DelayedInvalidate(HMENU hmenu);
  29. STDAPI_(BOOL) FileMenu_IsDelayedInvalid(HMENU hmenu);
  30. STDAPI FileMenu_InitMenuPopup(HMENU hmenu);
  31. STDAPI_(LRESULT) FileMenu_DrawItem(HWND hwnd, DRAWITEMSTRUCT *lpdi);
  32. STDAPI_(LRESULT) FileMenu_MeasureItem(HWND hwnd, MEASUREITEMSTRUCT *lpmi);
  33. STDAPI_(void) FileMenu_DeleteAllItems(HMENU hmenu);
  34. STDAPI_(LRESULT) FileMenu_HandleMenuChar(HMENU hmenu, TCHAR ch);
  35. #endif //_FSMENU_H