commctrl.cpp 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672
  1. #define WIN32_LEAN_AND_MEAN
  2. #include <windows.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <commctrl.h>
  6. #include <richedit.h>
  7. extern "C" {
  8. TOOLINFOW * bmx_win32_TOOLINFOW_new();
  9. void bmx_win32_TOOLINFOW_free(TOOLINFOW * info);
  10. void bmx_win32_TOOLINFOW_SetuFlags(TOOLINFOW * info, UINT uFlags);
  11. void bmx_win32_TOOLINFOW_Sethwnd(TOOLINFOW * info, HWND hwnd);
  12. void bmx_win32_TOOLINFOW_SetuId(TOOLINFOW * info, UINT_PTR uId);
  13. void bmx_win32_TOOLINFOW_Sethinst(TOOLINFOW * info, HINSTANCE hinst);
  14. void bmx_win32_TOOLINFOW_SetlpszText(TOOLINFOW * info, LPWSTR lpszText);
  15. RECT* bmx_win32_TOOLINFOW_rect(TOOLINFOW * info);
  16. LPWSTR bmx_win32_TOOLINFOW_lpszText(TOOLINFOW * info);
  17. INITCOMMONCONTROLSEX * bmx_win32_TINITCOMMONCONTROLSEX_new();
  18. void bmx_win32_TINITCOMMONCONTROLSEX_free(INITCOMMONCONTROLSEX * icc);
  19. void bmx_win32_TINITCOMMONCONTROLSEX_SetdwICC(INITCOMMONCONTROLSEX * icc, int dwICC);
  20. BUTTON_IMAGELIST * bmx_win32_BUTTON_IMAGELIST_new();
  21. void bmx_win32_BUTTON_IMAGELIST_free(BUTTON_IMAGELIST * list);
  22. void bmx_win32_BUTTON_IMAGELIST_Sethiml(BUTTON_IMAGELIST * list, HIMAGELIST himl);
  23. void bmx_win32_BUTTON_IMAGELIST_SetuAlign(BUTTON_IMAGELIST * list, UINT uAlign);
  24. HIMAGELIST bmx_win32_BUTTON_IMAGELIST_himl(BUTTON_IMAGELIST * list);
  25. COMBOBOXEXITEMW * bmx_win32_COMBOBOXEXITEMW_new();
  26. void bmx_win32_COMBOBOXEXITEMW_free(COMBOBOXEXITEMW * item);
  27. void bmx_win32_COMBOBOXEXITEMW_Setmask(COMBOBOXEXITEMW * item, UINT mask);
  28. void bmx_win32_COMBOBOXEXITEMW_SetiItem(COMBOBOXEXITEMW * item, INT_PTR iItem);
  29. void bmx_win32_COMBOBOXEXITEMW_SetpszText(COMBOBOXEXITEMW * item, LPWSTR pszText);
  30. void bmx_win32_COMBOBOXEXITEMW_SetiImage(COMBOBOXEXITEMW * item, int iImage);
  31. void bmx_win32_COMBOBOXEXITEMW_SetiSelectedImage(COMBOBOXEXITEMW * item, int iSelectedImage);
  32. UINT bmx_win32_COMBOBOXEXITEMW_mask(COMBOBOXEXITEMW * item);
  33. LPWSTR bmx_win32_COMBOBOXEXITEMW_pszText(COMBOBOXEXITEMW * item);
  34. LVCOLUMNW * bmx_win32_LVCOLUMNW_new();
  35. void bmx_win32_LVCOLUMNW_free(LVCOLUMNW * col);
  36. LVITEMW * bmx_win32_LVITEMW_new();
  37. void bmx_win32_LVITEMW_free(LVITEMW * item);
  38. void bmx_win32_LVITEMW_Setmask(LVITEMW * item, UINT mask);
  39. void bmx_win32_LVITEMW_SetiItem(LVITEMW * item, int iItem);
  40. void bmx_win32_LVITEMW_Setstate(LVITEMW * item, UINT state);
  41. void bmx_win32_LVITEMW_SetstateMask(LVITEMW * item, UINT stateMask);
  42. void bmx_win32_LVITEMW_SetpszText(LVITEMW * item, LPWSTR pszText);
  43. void bmx_win32_LVITEMW_SetiImage(LVITEMW * item, int iImage);
  44. UINT bmx_win32_LVITEMW_mask(LVITEMW * item);
  45. UINT bmx_win32_LVITEMW_state(LVITEMW * item);
  46. LPWSTR bmx_win32_LVITEMW_pszText(LVITEMW * item);
  47. HWND bmx_win32_NMHDR_hwndFrom(NMHDR * hdr);
  48. UINT bmx_win32_NMHDR_code(NMHDR * hdr);
  49. void bmx_win32_NMTTDISPINFOW_SetlpszText(NMTTDISPINFOW * info, LPWSTR lpszText);
  50. LPWSTR bmx_win32_NMLVGETINFOTIPW_pszText(NMLVGETINFOTIPW * info);
  51. int bmx_win32_NMLVGETINFOTIPW_cchTextMax(NMLVGETINFOTIPW * info);
  52. int bmx_win32_NMLVGETINFOTIPW_iItem(NMLVGETINFOTIPW * info);
  53. UINT bmx_win32_NMLISTVIEW_uChanged(NMLISTVIEW * view);
  54. int bmx_win32_NMITEMACTIVATE_iItem(NMITEMACTIVATE * act);
  55. TVITEMW * bmx_win32_NMTREEVIEW_itemNew(NMTREEVIEWW * view);
  56. UINT bmx_win32_NMTREEVIEW_action(NMTREEVIEWW * view);
  57. int bmx_win32_NMTREEVIEW_x(NMTREEVIEWW * view);
  58. int bmx_win32_NMTREEVIEW_y(NMTREEVIEWW * view);
  59. TBBUTTON * bmx_win32_TBBUTTON_new();
  60. void bmx_win32_TBBUTTON_free(TBBUTTON * button);
  61. void bmx_win32_TBBUTTON_SetiBitmap(TBBUTTON * button, int iBitmap);
  62. void bmx_win32_TBBUTTON_SetidCommand(TBBUTTON * button, int idCommand);
  63. void bmx_win32_TBBUTTON_SetfsState(TBBUTTON * button, int fsState);
  64. void bmx_win32_TBBUTTON_SetfsStyle(TBBUTTON * button, int fsStyle);
  65. TCHITTESTINFO * bmx_win32_TCHITTESTINFO_new();
  66. void bmx_win32_TCHITTESTINFO_free(TCHITTESTINFO * info);
  67. POINT * bmx_win32_TCHITTESTINFO_pt(TCHITTESTINFO * info);
  68. UINT bmx_win32_TCHITTESTINFO_flags(TCHITTESTINFO * info);
  69. void bmx_win32_TCHITTESTINFO_Setx(TCHITTESTINFO * info, int x);
  70. void bmx_win32_TCHITTESTINFO_Sety(TCHITTESTINFO * info, int y);
  71. int bmx_win32_TCHITTESTINFO_x(TCHITTESTINFO * info);
  72. int bmx_win32_TCHITTESTINFO_y(TCHITTESTINFO * info);
  73. void bmx_win32_TCHITTESTINFO_Setflags(TCHITTESTINFO * info, UINT flags);
  74. TCITEMW * bmx_win32_TCITEMW_new();
  75. void bmx_win32_TCITEMW_free(TCITEMW * item);
  76. void bmx_win32_TCITEMW_Setmask(TCITEMW * item, UINT mask);
  77. void bmx_win32_TCITEMW_SetpszText(TCITEMW * item, LPWSTR pszText);
  78. void bmx_win32_TCITEMW_SetiImage(TCITEMW * item, int iImage);
  79. LPWSTR bmx_win32_TCITEMW_pszText(TCITEMW * item);
  80. TVITEMW * bmx_win32_TVITEMW_new();
  81. void bmx_win32_TVITEMW_free(TVITEMW * item);
  82. void bmx_win32_TVITEMW_Setmask(TVITEMW * item, UINT mask);
  83. void bmx_win32_TVITEMW_SethItem(TVITEMW * item, HTREEITEM hItem);
  84. void bmx_win32_TVITEMW_Setstate(TVITEMW * item, UINT state);
  85. void bmx_win32_TVITEMW_SetstateMask(TVITEMW * item, UINT stateMask);
  86. void bmx_win32_TVITEMW_SetpszText(TVITEMW * item, LPWSTR pszText);
  87. void bmx_win32_TVITEMW_SetcchTextMax(TVITEMW * item, int cchTextMax);
  88. void bmx_win32_TVITEMW_SetiImage(TVITEMW * item, int iImage);
  89. void bmx_win32_TVITEMW_SetiSelectedImage(TVITEMW * item, int iSelectedImage);
  90. void bmx_win32_TVITEMW_SetcChildren(TVITEMW * item, int cChildren);
  91. void bmx_win32_TVITEMW_SetlParam(TVITEMW * item, LPARAM lParam);
  92. UINT bmx_win32_TVITEMW_mask(TVITEMW * item);
  93. LPWSTR bmx_win32_TVITEMW_pszText(TVITEMW * item);
  94. int bmx_win32_TVITEMW_iImage(TVITEMW * item);
  95. HTREEITEM bmx_win32_TVITEMW_hItem(TVITEMW * item);
  96. LPARAM bmx_win32_TVITEMW_lParam(TVITEMW * item);
  97. TVINSERTSTRUCTW * bmx_win32_TVINSERTSTRUCTW_new();
  98. void bmx_win32_TVINSERTSTRUCTW_free(TVINSERTSTRUCTW * tv);
  99. void bmx_win32_TVINSERTSTRUCTW_SethParent(TVINSERTSTRUCTW * tv, HTREEITEM hParent);
  100. void bmx_win32_TVINSERTSTRUCTW_SethInsertAfter(TVINSERTSTRUCTW * tv, HTREEITEM hInsertAfter);
  101. void bmx_win32_TVINSERTSTRUCTW_Setitem_mask(TVINSERTSTRUCTW * tv, UINT item_mask);
  102. void bmx_win32_TVINSERTSTRUCTW_Setitem_hItem(TVINSERTSTRUCTW * tv, HTREEITEM item_hItem);
  103. void bmx_win32_TVINSERTSTRUCTW_Setitem_state(TVINSERTSTRUCTW * tv, UINT item_state);
  104. void bmx_win32_TVINSERTSTRUCTW_Setitem_stateMask(TVINSERTSTRUCTW * tv, UINT item_stateMask);
  105. void bmx_win32_TVINSERTSTRUCTW_Setitem_pszText(TVINSERTSTRUCTW * tv, LPWSTR item_pszText);
  106. void bmx_win32_TVINSERTSTRUCTW_Setitem_cchTextMax(TVINSERTSTRUCTW * tv, int item_cchTextMax);
  107. void bmx_win32_TVINSERTSTRUCTW_Setitem_iImage(TVINSERTSTRUCTW * tv, int item_iImage);
  108. void bmx_win32_TVINSERTSTRUCTW_Setitem_iSelectedImage(TVINSERTSTRUCTW * tv, int item_iSelectedImage);
  109. void bmx_win32_TVINSERTSTRUCTW_Setitem_cChildren(TVINSERTSTRUCTW * tv, int item_cChildren);
  110. void bmx_win32_TVINSERTSTRUCTW_Setitem_lParam(TVINSERTSTRUCTW * tv, LPARAM item_lParam);
  111. UINT bmx_win32_TVINSERTSTRUCTW_item_mask(TVINSERTSTRUCTW * tv);
  112. int bmx_win32_TVINSERTSTRUCTW_item_iImage(TVINSERTSTRUCTW * tv);
  113. LPARAM bmx_win32_TVINSERTSTRUCTW_item_lparam(TVINSERTSTRUCTW * tv);
  114. LPWSTR bmx_win32_TVINSERTSTRUCTW_item_pszText(TVINSERTSTRUCTW * tv);
  115. TVHITTESTINFO * bmx_win32_TVHITTESTINFO_new();
  116. void bmx_win32_TVHITTESTINFO_free(TVHITTESTINFO * info);
  117. UINT bmx_win32_TVHITTESTINFO_flags(TVHITTESTINFO * info);
  118. void bmx_win32_TVHITTESTINFO_Setx(TVHITTESTINFO * info, int x);
  119. void bmx_win32_TVHITTESTINFO_Sety(TVHITTESTINFO * info, int y);
  120. int bmx_win32_TVHITTESTINFO_x(TVHITTESTINFO * info);
  121. int bmx_win32_TVHITTESTINFO_y(TVHITTESTINFO * info);
  122. void bmx_win32_TVHITTESTINFO_Setflags(TVHITTESTINFO * info, UINT flags);
  123. HTREEITEM bmx_win32_TVHITTESTINFO_hItem(TVHITTESTINFO * info);
  124. UINT bmx_win32_MSGFILTER_msg(MSGFILTER * filter);
  125. WPARAM bmx_win32_MSGFILTER_wParam(MSGFILTER * filter);
  126. LPARAM bmx_win32_MSGFILTER_lParam(MSGFILTER * filter);
  127. void bmx_win32_MSGFILTER_Setmsg(MSGFILTER * filter, UINT msg);
  128. }
  129. // ********************************************************
  130. TOOLINFOW * bmx_win32_TOOLINFOW_new() {
  131. TOOLINFOW * info = (TOOLINFOW *)calloc(1, sizeof(TOOLINFOW));
  132. info->cbSize = sizeof(TOOLINFOW);
  133. return info;
  134. }
  135. void bmx_win32_TOOLINFOW_free(TOOLINFOW * info) {
  136. free(info);
  137. }
  138. void bmx_win32_TOOLINFOW_SetuFlags(TOOLINFOW * info, UINT uFlags) {
  139. info->uFlags = uFlags;
  140. }
  141. void bmx_win32_TOOLINFOW_Sethwnd(TOOLINFOW * info, HWND hwnd) {
  142. info->hwnd = hwnd;
  143. }
  144. void bmx_win32_TOOLINFOW_SetuId(TOOLINFOW * info, UINT_PTR uId) {
  145. info->uId = uId;
  146. }
  147. void bmx_win32_TOOLINFOW_Sethinst(TOOLINFOW * info, HINSTANCE hinst) {
  148. info->hinst = hinst;
  149. }
  150. void bmx_win32_TOOLINFOW_SetlpszText(TOOLINFOW * info, LPWSTR lpszText) {
  151. info->lpszText = lpszText;
  152. }
  153. RECT* bmx_win32_TOOLINFOW_rect(TOOLINFOW * info) {
  154. return &info->rect;
  155. }
  156. LPWSTR bmx_win32_TOOLINFOW_lpszText(TOOLINFOW * info) {
  157. return info->lpszText;
  158. }
  159. // ********************************************************
  160. INITCOMMONCONTROLSEX * bmx_win32_TINITCOMMONCONTROLSEX_new() {
  161. INITCOMMONCONTROLSEX * icc = (INITCOMMONCONTROLSEX *)calloc(1,sizeof(INITCOMMONCONTROLSEX));
  162. icc->dwSize = sizeof(INITCOMMONCONTROLSEX);
  163. return icc;
  164. }
  165. void bmx_win32_TINITCOMMONCONTROLSEX_free(INITCOMMONCONTROLSEX * icc) {
  166. free(icc);
  167. }
  168. void bmx_win32_TINITCOMMONCONTROLSEX_SetdwICC(INITCOMMONCONTROLSEX * icc, int dwICC) {
  169. icc->dwICC = dwICC;
  170. }
  171. // ********************************************************
  172. BUTTON_IMAGELIST * bmx_win32_BUTTON_IMAGELIST_new() {
  173. return (BUTTON_IMAGELIST *)calloc(1,sizeof(BUTTON_IMAGELIST));
  174. }
  175. void bmx_win32_BUTTON_IMAGELIST_free(BUTTON_IMAGELIST * list) {
  176. free(list);
  177. }
  178. void bmx_win32_BUTTON_IMAGELIST_Sethiml(BUTTON_IMAGELIST * list, HIMAGELIST himl) {
  179. list->himl = himl;
  180. }
  181. void bmx_win32_BUTTON_IMAGELIST_SetuAlign(BUTTON_IMAGELIST * list, UINT uAlign) {
  182. list->uAlign = uAlign;
  183. }
  184. HIMAGELIST bmx_win32_BUTTON_IMAGELIST_himl(BUTTON_IMAGELIST * list) {
  185. return list->himl;
  186. }
  187. // ********************************************************
  188. COMBOBOXEXITEMW * bmx_win32_COMBOBOXEXITEMW_new() {
  189. return (COMBOBOXEXITEMW *)calloc(1, sizeof(COMBOBOXEXITEMW));
  190. }
  191. void bmx_win32_COMBOBOXEXITEMW_free(COMBOBOXEXITEMW * item) {
  192. free(item);
  193. }
  194. void bmx_win32_COMBOBOXEXITEMW_Setmask(COMBOBOXEXITEMW * item, UINT mask) {
  195. item->mask = mask;
  196. }
  197. void bmx_win32_COMBOBOXEXITEMW_SetiItem(COMBOBOXEXITEMW * item, INT_PTR iItem) {
  198. item->iItem = iItem;
  199. }
  200. void bmx_win32_COMBOBOXEXITEMW_SetpszText(COMBOBOXEXITEMW * item, LPWSTR pszText) {
  201. item->pszText = pszText;
  202. }
  203. void bmx_win32_COMBOBOXEXITEMW_SetiImage(COMBOBOXEXITEMW * item, int iImage) {
  204. item->iImage = iImage;
  205. }
  206. void bmx_win32_COMBOBOXEXITEMW_SetiSelectedImage(COMBOBOXEXITEMW * item, int iSelectedImage) {
  207. item->iSelectedImage = iSelectedImage;
  208. }
  209. UINT bmx_win32_COMBOBOXEXITEMW_mask(COMBOBOXEXITEMW * item) {
  210. return item->mask;
  211. }
  212. LPWSTR bmx_win32_COMBOBOXEXITEMW_pszText(COMBOBOXEXITEMW * item) {
  213. return item->pszText;
  214. }
  215. // ********************************************************
  216. LVCOLUMNW * bmx_win32_LVCOLUMNW_new() {
  217. return (LVCOLUMNW *)calloc(1,sizeof(LVCOLUMNW));
  218. }
  219. void bmx_win32_LVCOLUMNW_free(LVCOLUMNW * col) {
  220. free(col);
  221. }
  222. // ********************************************************
  223. LVITEMW * bmx_win32_LVITEMW_new() {
  224. return (LVITEMW *)calloc(1, sizeof(LVITEMW));
  225. }
  226. void bmx_win32_LVITEMW_free(LVITEMW * item) {
  227. free(item);
  228. }
  229. void bmx_win32_LVITEMW_Setmask(LVITEMW * item, UINT mask) {
  230. item->mask = mask;
  231. }
  232. void bmx_win32_LVITEMW_SetiItem(LVITEMW * item, int iItem) {
  233. item->iItem = iItem;
  234. }
  235. void bmx_win32_LVITEMW_Setstate(LVITEMW * item, UINT state) {
  236. item->state = state;
  237. }
  238. void bmx_win32_LVITEMW_SetstateMask(LVITEMW * item, UINT stateMask) {
  239. item->stateMask = stateMask;
  240. }
  241. void bmx_win32_LVITEMW_SetpszText(LVITEMW * item, LPWSTR pszText) {
  242. item->pszText = pszText;
  243. }
  244. void bmx_win32_LVITEMW_SetiImage(LVITEMW * item, int iImage) {
  245. item->iImage = iImage;
  246. }
  247. UINT bmx_win32_LVITEMW_mask(LVITEMW * item) {
  248. return item->mask;
  249. }
  250. UINT bmx_win32_LVITEMW_state(LVITEMW * item) {
  251. return item->state;
  252. }
  253. LPWSTR bmx_win32_LVITEMW_pszText(LVITEMW * item) {
  254. return item->pszText;
  255. }
  256. // ********************************************************
  257. HWND bmx_win32_NMHDR_hwndFrom(NMHDR * hdr) {
  258. return hdr->hwndFrom;
  259. }
  260. UINT bmx_win32_NMHDR_code(NMHDR * hdr) {
  261. return hdr->code;
  262. }
  263. // ********************************************************
  264. void bmx_win32_NMTTDISPINFOW_SetlpszText(NMTTDISPINFOW * info, LPWSTR lpszText) {
  265. info->lpszText = lpszText;
  266. }
  267. // ********************************************************
  268. LPWSTR bmx_win32_NMLVGETINFOTIPW_pszText(NMLVGETINFOTIPW * info) {
  269. return info->pszText;
  270. }
  271. int bmx_win32_NMLVGETINFOTIPW_cchTextMax(NMLVGETINFOTIPW * info) {
  272. return info->cchTextMax;
  273. }
  274. int bmx_win32_NMLVGETINFOTIPW_iItem(NMLVGETINFOTIPW * info) {
  275. return info->iItem;
  276. }
  277. // ********************************************************
  278. UINT bmx_win32_NMLISTVIEW_uChanged(NMLISTVIEW * view) {
  279. return view->uChanged;
  280. }
  281. // ********************************************************
  282. int bmx_win32_NMITEMACTIVATE_iItem(NMITEMACTIVATE * act) {
  283. return act->iItem;
  284. }
  285. // ********************************************************
  286. TVITEMW * bmx_win32_NMTREEVIEW_itemNew(NMTREEVIEWW * view) {
  287. return &view->itemNew;
  288. }
  289. UINT bmx_win32_NMTREEVIEW_action(NMTREEVIEWW * view) {
  290. return view->action;
  291. }
  292. int bmx_win32_NMTREEVIEW_x(NMTREEVIEWW * view) {
  293. return view->ptDrag.x;
  294. }
  295. int bmx_win32_NMTREEVIEW_y(NMTREEVIEWW * view) {
  296. return view->ptDrag.y;
  297. }
  298. // ********************************************************
  299. TBBUTTON * bmx_win32_TBBUTTON_new() {
  300. return (TBBUTTON *)calloc(1,sizeof(TBBUTTON));
  301. }
  302. void bmx_win32_TBBUTTON_free(TBBUTTON * button) {
  303. free(button);
  304. }
  305. void bmx_win32_TBBUTTON_SetiBitmap(TBBUTTON * button, int iBitmap) {
  306. button->iBitmap = iBitmap;
  307. }
  308. void bmx_win32_TBBUTTON_SetidCommand(TBBUTTON * button, int idCommand) {
  309. button->idCommand = idCommand;
  310. }
  311. void bmx_win32_TBBUTTON_SetfsState(TBBUTTON * button, int fsState) {
  312. button->fsState = fsState;
  313. }
  314. void bmx_win32_TBBUTTON_SetfsStyle(TBBUTTON * button, int fsStyle) {
  315. button->fsStyle = fsStyle;
  316. }
  317. // ********************************************************
  318. TCHITTESTINFO * bmx_win32_TCHITTESTINFO_new() {
  319. return (TCHITTESTINFO *)calloc(1, sizeof(TCHITTESTINFO));
  320. }
  321. void bmx_win32_TCHITTESTINFO_free(TCHITTESTINFO * info) {
  322. free(info);
  323. }
  324. POINT * bmx_win32_TCHITTESTINFO_pt(TCHITTESTINFO * info) {
  325. return &info->pt;
  326. }
  327. UINT bmx_win32_TCHITTESTINFO_flags(TCHITTESTINFO * info) {
  328. return info->flags;
  329. }
  330. void bmx_win32_TCHITTESTINFO_Setx(TCHITTESTINFO * info, int x) {
  331. info->pt.x = x;
  332. }
  333. void bmx_win32_TCHITTESTINFO_Sety(TCHITTESTINFO * info, int y) {
  334. info->pt.y = y;
  335. }
  336. int bmx_win32_TCHITTESTINFO_x(TCHITTESTINFO * info) {
  337. return info->pt.x;
  338. }
  339. int bmx_win32_TCHITTESTINFO_y(TCHITTESTINFO * info) {
  340. return info->pt.y;
  341. }
  342. void bmx_win32_TCHITTESTINFO_Setflags(TCHITTESTINFO * info, UINT flags) {
  343. info->flags = flags;
  344. }
  345. // ********************************************************
  346. TCITEMW * bmx_win32_TCITEMW_new() {
  347. return (TCITEMW *)calloc(1, sizeof(TCITEMW));
  348. }
  349. void bmx_win32_TCITEMW_free(TCITEMW * item) {
  350. free(item);
  351. }
  352. void bmx_win32_TCITEMW_Setmask(TCITEMW * item, UINT mask) {
  353. item->mask = mask;
  354. }
  355. void bmx_win32_TCITEMW_SetpszText(TCITEMW * item, LPWSTR pszText) {
  356. item->pszText = pszText;
  357. }
  358. void bmx_win32_TCITEMW_SetiImage(TCITEMW * item, int iImage) {
  359. item->iImage = iImage;
  360. }
  361. LPWSTR bmx_win32_TCITEMW_pszText(TCITEMW * item) {
  362. return item->pszText;
  363. }
  364. // ********************************************************
  365. TVITEMW * bmx_win32_TVITEMW_new() {
  366. return (TVITEMW *)calloc(1, sizeof(TVITEMW));
  367. }
  368. void bmx_win32_TVITEMW_free(TVITEMW * item) {
  369. free(item);
  370. }
  371. void bmx_win32_TVITEMW_Setmask(TVITEMW * item, UINT mask) {
  372. item->mask = mask;
  373. }
  374. void bmx_win32_TVITEMW_SethItem(TVITEMW * item, HTREEITEM hItem) {
  375. item->hItem = hItem;
  376. }
  377. void bmx_win32_TVITEMW_Setstate(TVITEMW * item, UINT state) {
  378. item->state = state;
  379. }
  380. void bmx_win32_TVITEMW_SetstateMask(TVITEMW * item, UINT stateMask) {
  381. item->stateMask = stateMask;
  382. }
  383. void bmx_win32_TVITEMW_SetpszText(TVITEMW * item, LPWSTR pszText) {
  384. item->pszText = pszText;
  385. }
  386. void bmx_win32_TVITEMW_SetcchTextMax(TVITEMW * item, int cchTextMax) {
  387. item->cchTextMax = cchTextMax;
  388. }
  389. void bmx_win32_TVITEMW_SetiImage(TVITEMW * item, int iImage) {
  390. item->iImage = iImage;
  391. }
  392. void bmx_win32_TVITEMW_SetiSelectedImage(TVITEMW * item, int iSelectedImage) {
  393. item->iSelectedImage = iSelectedImage;
  394. }
  395. void bmx_win32_TVITEMW_SetcChildren(TVITEMW * item, int cChildren) {
  396. item->cChildren = cChildren;
  397. }
  398. void bmx_win32_TVITEMW_SetlParam(TVITEMW * item, LPARAM lParam) {
  399. item->lParam = lParam;
  400. }
  401. UINT bmx_win32_TVITEMW_mask(TVITEMW * item) {
  402. return item->mask;
  403. }
  404. LPWSTR bmx_win32_TVITEMW_pszText(TVITEMW * item) {
  405. return item->pszText;
  406. }
  407. int bmx_win32_TVITEMW_iImage(TVITEMW * item) {
  408. return item->iImage;
  409. }
  410. HTREEITEM bmx_win32_TVITEMW_hItem(TVITEMW * item) {
  411. return item->hItem;
  412. }
  413. LPARAM bmx_win32_TVITEMW_lParam(TVITEMW * item) {
  414. return item->lParam;
  415. }
  416. // ********************************************************
  417. TVINSERTSTRUCTW * bmx_win32_TVINSERTSTRUCTW_new() {
  418. return (TVINSERTSTRUCTW *)calloc(1, sizeof(TVINSERTSTRUCTW));
  419. }
  420. void bmx_win32_TVINSERTSTRUCTW_free(TVINSERTSTRUCTW * tv) {
  421. free(tv);
  422. }
  423. void bmx_win32_TVINSERTSTRUCTW_SethParent(TVINSERTSTRUCTW * tv, HTREEITEM hParent) {
  424. tv->hParent = hParent;
  425. }
  426. void bmx_win32_TVINSERTSTRUCTW_SethInsertAfter(TVINSERTSTRUCTW * tv, HTREEITEM hInsertAfter) {
  427. tv->hInsertAfter = hInsertAfter;
  428. }
  429. void bmx_win32_TVINSERTSTRUCTW_Setitem_mask(TVINSERTSTRUCTW * tv, UINT item_mask) {
  430. tv->item.mask = item_mask;
  431. }
  432. void bmx_win32_TVINSERTSTRUCTW_Setitem_hItem(TVINSERTSTRUCTW * tv, HTREEITEM item_hItem) {
  433. tv->item.hItem = item_hItem;
  434. }
  435. void bmx_win32_TVINSERTSTRUCTW_Setitem_state(TVINSERTSTRUCTW * tv, UINT item_state) {
  436. tv->item.state = item_state;
  437. }
  438. void bmx_win32_TVINSERTSTRUCTW_Setitem_stateMask(TVINSERTSTRUCTW * tv, UINT item_stateMask) {
  439. tv->item.stateMask = item_stateMask;
  440. }
  441. void bmx_win32_TVINSERTSTRUCTW_Setitem_pszText(TVINSERTSTRUCTW * tv, LPWSTR item_pszText) {
  442. tv->item.pszText = item_pszText;
  443. }
  444. void bmx_win32_TVINSERTSTRUCTW_Setitem_cchTextMax(TVINSERTSTRUCTW * tv, int item_cchTextMax) {
  445. tv->item.cchTextMax = item_cchTextMax;
  446. }
  447. void bmx_win32_TVINSERTSTRUCTW_Setitem_iImage(TVINSERTSTRUCTW * tv, int item_iImage) {
  448. tv->item.iImage = item_iImage;
  449. }
  450. void bmx_win32_TVINSERTSTRUCTW_Setitem_iSelectedImage(TVINSERTSTRUCTW * tv, int item_iSelectedImage) {
  451. tv->item.iSelectedImage = item_iSelectedImage;
  452. }
  453. void bmx_win32_TVINSERTSTRUCTW_Setitem_cChildren(TVINSERTSTRUCTW * tv, int item_cChildren) {
  454. tv->item.cChildren = item_cChildren;
  455. }
  456. void bmx_win32_TVINSERTSTRUCTW_Setitem_lParam(TVINSERTSTRUCTW * tv, LPARAM item_lParam) {
  457. tv->item.lParam = item_lParam;
  458. }
  459. UINT bmx_win32_TVINSERTSTRUCTW_item_mask(TVINSERTSTRUCTW * tv) {
  460. return tv->item.mask;
  461. }
  462. int bmx_win32_TVINSERTSTRUCTW_item_iImage(TVINSERTSTRUCTW * tv) {
  463. return tv->item.iImage;
  464. }
  465. LPARAM bmx_win32_TVINSERTSTRUCTW_item_lparam(TVINSERTSTRUCTW * tv) {
  466. return tv->item.lParam;
  467. }
  468. LPWSTR bmx_win32_TVINSERTSTRUCTW_item_pszText(TVINSERTSTRUCTW * tv) {
  469. return tv->item.pszText;
  470. }
  471. // ********************************************************
  472. TVHITTESTINFO * bmx_win32_TVHITTESTINFO_new() {
  473. return (TVHITTESTINFO *)calloc(1, sizeof(TVHITTESTINFO));
  474. }
  475. void bmx_win32_TVHITTESTINFO_free(TVHITTESTINFO * info) {
  476. free(info);
  477. }
  478. UINT bmx_win32_TVHITTESTINFO_flags(TVHITTESTINFO * info) {
  479. return info->flags;
  480. }
  481. void bmx_win32_TVHITTESTINFO_Setx(TVHITTESTINFO * info, int x) {
  482. info->pt.x = x;
  483. }
  484. void bmx_win32_TVHITTESTINFO_Sety(TVHITTESTINFO * info, int y) {
  485. info->pt.y = y;
  486. }
  487. int bmx_win32_TVHITTESTINFO_x(TVHITTESTINFO * info) {
  488. return info->pt.x;
  489. }
  490. int bmx_win32_TVHITTESTINFO_y(TVHITTESTINFO * info) {
  491. return info->pt.y;
  492. }
  493. void bmx_win32_TVHITTESTINFO_Setflags(TVHITTESTINFO * info, UINT flags) {
  494. info->flags = flags;
  495. }
  496. HTREEITEM bmx_win32_TVHITTESTINFO_hItem(TVHITTESTINFO * info) {
  497. return info->hItem;
  498. }
  499. // ********************************************************
  500. UINT bmx_win32_MSGFILTER_msg(MSGFILTER * filter) {
  501. return filter->msg;
  502. }
  503. WPARAM bmx_win32_MSGFILTER_wParam(MSGFILTER * filter) {
  504. return filter->wParam;
  505. }
  506. LPARAM bmx_win32_MSGFILTER_lParam(MSGFILTER * filter) {
  507. return filter->lParam;
  508. }
  509. void bmx_win32_MSGFILTER_Setmsg(MSGFILTER * filter, UINT msg) {
  510. filter->msg = msg;
  511. }