wfext.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _INC_WFEXT
  7. #define _INC_WFEXT
  8. #include <_mingw_unicode.h>
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. #define MENU_TEXT_LEN 40
  13. #define FMMENU_FIRST 1
  14. #define FMMENU_LAST 99
  15. #define FMEVENT_LOAD 100
  16. #define FMEVENT_UNLOAD 101
  17. #define FMEVENT_INITMENU 102
  18. #define FMEVENT_USER_REFRESH 103
  19. #define FMEVENT_SELCHANGE 104
  20. #define FMEVENT_TOOLBARLOAD 105
  21. #define FMEVENT_HELPSTRING 106
  22. #define FMEVENT_HELPMENUITEM 107
  23. #define FMFOCUS_DIR 1
  24. #define FMFOCUS_TREE 2
  25. #define FMFOCUS_DRIVES 3
  26. #define FMFOCUS_SEARCH 4
  27. #define FM_GETFOCUS (WM_USER + 0x0200)
  28. #define FM_GETSELCOUNT (WM_USER + 0x0202)
  29. #define FM_GETSELCOUNTLFN (WM_USER + 0x0203)
  30. #define FM_REFRESH_WINDOWS (WM_USER + 0x0206)
  31. #define FM_RELOAD_EXTENSIONS (WM_USER + 0x0207)
  32. #define FM_GETDRIVEINFOA (WM_USER + 0x0201)
  33. #define FM_GETFILESELA (WM_USER + 0x0204)
  34. #define FM_GETFILESELLFNA (WM_USER + 0x0205)
  35. #define FM_GETDRIVEINFOW (WM_USER + 0x0211)
  36. #define FM_GETFILESELW (WM_USER + 0x0214)
  37. #define FM_GETFILESELLFNW (WM_USER + 0x0215)
  38. #define FM_GETDRIVEINFO __MINGW_NAME_AW(FM_GETDRIVEINFO)
  39. #define FM_GETFILESEL __MINGW_NAME_AW(FM_GETFILESEL)
  40. #define FM_GETFILESELLFN __MINGW_NAME_AW(FM_GETFILESELLFN)
  41. typedef struct _FMS_GETFILESELA {
  42. FILETIME ftTime;
  43. DWORD dwSize;
  44. BYTE bAttr;
  45. CHAR szName[260];
  46. } FMS_GETFILESELA,*LPFMS_GETFILESELA;
  47. typedef struct _FMS_GETFILESELW {
  48. FILETIME ftTime;
  49. DWORD dwSize;
  50. BYTE bAttr;
  51. WCHAR szName[260];
  52. } FMS_GETFILESELW,*LPFMS_GETFILESELW;
  53. #define FMS_GETFILESEL __MINGW_NAME_AW(FMS_GETFILESEL)
  54. #define LPFMS_GETFILESEL __MINGW_NAME_AW(LPFMS_GETFILESEL)
  55. typedef struct _FMS_GETDRIVEINFOA {
  56. DWORD dwTotalSpace;
  57. DWORD dwFreeSpace;
  58. CHAR szPath[260];
  59. CHAR szVolume[14];
  60. CHAR szShare[128];
  61. } FMS_GETDRIVEINFOA,*LPFMS_GETDRIVEINFOA;
  62. typedef struct _FMS_GETDRIVEINFOW {
  63. DWORD dwTotalSpace;
  64. DWORD dwFreeSpace;
  65. WCHAR szPath[260];
  66. WCHAR szVolume[14];
  67. WCHAR szShare[128];
  68. } FMS_GETDRIVEINFOW,*LPFMS_GETDRIVEINFOW;
  69. #define FMS_GETDRIVEINFO __MINGW_NAME_AW(FMS_GETDRIVEINFO)
  70. #define LPFMS_GETDRIVEINFO __MINGW_NAME_AW(LPFMS_GETDRIVEINFO)
  71. typedef struct _FMS_LOADA {
  72. DWORD dwSize;
  73. CHAR szMenuName[MENU_TEXT_LEN];
  74. HMENU hMenu;
  75. UINT wMenuDelta;
  76. } FMS_LOADA,*LPFMS_LOADA;
  77. typedef struct _FMS_LOADW {
  78. DWORD dwSize;
  79. WCHAR szMenuName[MENU_TEXT_LEN];
  80. HMENU hMenu;
  81. UINT wMenuDelta;
  82. } FMS_LOADW,*LPFMS_LOADW;
  83. #define FMS_LOAD __MINGW_NAME_AW(FMS_LOAD)
  84. #define LPFMS_LOAD __MINGW_NAME_AW(LPFMS_LOAD)
  85. typedef struct tagEXT_BUTTON {
  86. WORD idCommand;
  87. WORD idsHelp;
  88. WORD fsStyle;
  89. } EXT_BUTTON,*LPEXT_BUTTON;
  90. typedef struct tagFMS_TOOLBARLOAD {
  91. DWORD dwSize;
  92. LPEXT_BUTTON lpButtons;
  93. WORD cButtons;
  94. WORD cBitmaps;
  95. WORD idBitmap;
  96. HBITMAP hBitmap;
  97. } FMS_TOOLBARLOAD,*LPFMS_TOOLBARLOAD;
  98. typedef struct tagFMS_HELPSTRINGA {
  99. INT idCommand;
  100. HMENU hMenu;
  101. CHAR szHelp[128];
  102. } FMS_HELPSTRINGA,*LPFMS_HELPSTRINGA;
  103. typedef struct tagFMS_HELPSTRINGW {
  104. INT idCommand;
  105. HMENU hMenu;
  106. WCHAR szHelp[128];
  107. } FMS_HELPSTRINGW,*LPFMS_HELPSTRINGW;
  108. #define FMS_HELPSTRING __MINGW_NAME_AW(FMS_HELPSTRING)
  109. #define LPFMS_HELPSTRING __MINGW_NAME_AW(LPFMS_HELPSTRING)
  110. typedef DWORD (WINAPI *FM_EXT_PROC)(HWND,WORD,LONG);
  111. typedef DWORD (WINAPI *FM_UNDELETE_PROC)(HWND,LPTSTR);
  112. LONG WINAPI FMExtensionProcW(HWND hwnd,WORD wEvent,LONG lParam);
  113. LONG WINAPI FMExtensionProc(HWND hwnd,WORD wEvent,LONG lParam);
  114. #ifdef __cplusplus
  115. }
  116. #endif
  117. #endif