| 22 | | const TCHAR[] DRAGLISTMSGSTRING = "commctrl_DragListMsg"; |
|---|
| 23 | | const TCHAR[] HOTKEY_CLASS = "msctls_hotkey32"; |
|---|
| 24 | | const TCHAR[] PROGRESS_CLASS = "msctls_progress32"; |
|---|
| 25 | | const TCHAR[] STATUSCLASSNAME = "msctls_statusbar32"; |
|---|
| 26 | | const TCHAR[] TOOLBARCLASSNAME = "ToolbarWindow32"; |
|---|
| 27 | | const TCHAR[] TOOLTIPS_CLASS = "tooltips_class32"; |
|---|
| 28 | | const TCHAR[] TRACKBAR_CLASS = "msctls_trackbar32"; |
|---|
| 29 | | const TCHAR[] UPDOWN_CLASS = "msctls_updown32"; |
|---|
| 30 | | const TCHAR[] ANIMATE_CLASS = "SysAnimate32"; |
|---|
| 31 | | const TCHAR[] DATETIMEPICK_CLASS = "SysDateTimePick32"; |
|---|
| 32 | | const TCHAR[] MONTHCAL_CLASS = "SysMonthCal32"; |
|---|
| 33 | | const TCHAR[] REBARCLASSNAME = "ReBarWindow32"; |
|---|
| 34 | | const TCHAR[] WC_COMBOBOXEX = "ComboBoxEx32"; |
|---|
| 35 | | const TCHAR[] WC_IPADDRESS = "SysIPAddress32"; |
|---|
| 36 | | const TCHAR[] WC_LISTVIEW = "SysListView32"; |
|---|
| 37 | | const TCHAR[] WC_TABCONTROL = "SysTabControl32"; |
|---|
| 38 | | const TCHAR[] WC_TREEVIEW = "SysTreeView32"; |
|---|
| 39 | | const TCHAR[] WC_HEADER = "SysHeader32"; |
|---|
| 40 | | const TCHAR[] WC_PAGESCROLLER = "SysPager"; |
|---|
| 41 | | const TCHAR[] WC_NATIVEFONTCTL = "NativeFontCtl"; |
|---|
| 42 | | const TCHAR[] WC_BUTTON = "Button"; |
|---|
| 43 | | const TCHAR[] WC_STATIC = "Static"; |
|---|
| 44 | | const TCHAR[] WC_EDIT = "Edit"; |
|---|
| 45 | | const TCHAR[] WC_LISTBOX = "ListBox"; |
|---|
| 46 | | const TCHAR[] WC_COMBOBOX = "ComboBox"; |
|---|
| 47 | | const TCHAR[] WC_SCROLLBAR = "ScrollBar"; |
|---|
| | 22 | const TCHAR[] |
|---|
| | 23 | DRAGLISTMSGSTRING = "commctrl_DragListMsg", |
|---|
| | 24 | HOTKEY_CLASS = "msctls_hotkey32", |
|---|
| | 25 | PROGRESS_CLASS = "msctls_progress32", |
|---|
| | 26 | STATUSCLASSNAME = "msctls_statusbar32", |
|---|
| | 27 | TOOLBARCLASSNAME = "ToolbarWindow32", |
|---|
| | 28 | TOOLTIPS_CLASS = "tooltips_class32", |
|---|
| | 29 | TRACKBAR_CLASS = "msctls_trackbar32", |
|---|
| | 30 | UPDOWN_CLASS = "msctls_updown32", |
|---|
| | 31 | ANIMATE_CLASS = "SysAnimate32", |
|---|
| | 32 | DATETIMEPICK_CLASS = "SysDateTimePick32", |
|---|
| | 33 | MONTHCAL_CLASS = "SysMonthCal32", |
|---|
| | 34 | REBARCLASSNAME = "ReBarWindow32", |
|---|
| | 35 | WC_COMBOBOXEX = "ComboBoxEx32", |
|---|
| | 36 | WC_IPADDRESS = "SysIPAddress32", |
|---|
| | 37 | WC_LISTVIEW = "SysListView32", |
|---|
| | 38 | WC_TABCONTROL = "SysTabControl32", |
|---|
| | 39 | WC_TREEVIEW = "SysTreeView32", |
|---|
| | 40 | WC_HEADER = "SysHeader32", |
|---|
| | 41 | WC_PAGESCROLLER = "SysPager", |
|---|
| | 42 | WC_NATIVEFONTCTL = "NativeFontCtl", |
|---|
| | 43 | WC_BUTTON = "Button", |
|---|
| | 44 | WC_STATIC = "Static", |
|---|
| | 45 | WC_EDIT = "Edit", |
|---|
| | 46 | WC_LISTBOX = "ListBox", |
|---|
| | 47 | WC_COMBOBOX = "ComboBox", |
|---|
| | 48 | WC_SCROLLBAR = "ScrollBar", |
|---|
| | 49 | WC_LINKA = "SysLink"; |
|---|
| | 3449 | static if (_WIN32_WINNT >= 0x501) { |
|---|
| | 3450 | /* SG: The definitions in this static if block are from the MSDN docs. |
|---|
| | 3451 | * They are not in MinGW, but nonetheless required for macros that are. |
|---|
| | 3452 | */ |
|---|
| | 3453 | struct LVGROUP { |
|---|
| | 3454 | UINT cbSize = LVGROUP.sizeof; |
|---|
| | 3455 | UINT mask; |
|---|
| | 3456 | LPWSTR pszHeader; |
|---|
| | 3457 | int cchHeader; |
|---|
| | 3458 | LPWSTR pszFooter; |
|---|
| | 3459 | int cchFooter; |
|---|
| | 3460 | int iGroupId; |
|---|
| | 3461 | UINT stateMask; |
|---|
| | 3462 | UINT state; |
|---|
| | 3463 | UINT uAlign; |
|---|
| | 3464 | static if (_WIN32_WINNT >= 0x600) { |
|---|
| | 3465 | LPWSTR pszSubtitle; |
|---|
| | 3466 | UINT cchSubtitle; |
|---|
| | 3467 | LPWSTR pszTask; |
|---|
| | 3468 | UINT cchTask; |
|---|
| | 3469 | LPWSTR pszDescriptionTop; |
|---|
| | 3470 | UINT cchDescriptionTop; |
|---|
| | 3471 | LPWSTR pszDescriptionBottom; |
|---|
| | 3472 | UINT cchDescriptionBottom; |
|---|
| | 3473 | int iTitleImage; |
|---|
| | 3474 | int iExtendedImage; |
|---|
| | 3475 | int iFirstItem; // Read only |
|---|
| | 3476 | UINT cItems; // Read only |
|---|
| | 3477 | LPWSTR pszSubsetTitle; // NULL if group is not subset |
|---|
| | 3478 | UINT cchSubsetTitle; |
|---|
| | 3479 | } |
|---|
| | 3480 | } |
|---|
| | 3481 | alias LVGROUP* PLVGROUP; |
|---|
| | 3482 | |
|---|
| | 3483 | struct LVGROUPMETRICS { |
|---|
| | 3484 | UINT cbSize = LVGROUPMETRICS.sizeof; |
|---|
| | 3485 | UINT mask; |
|---|
| | 3486 | UINT Left; |
|---|
| | 3487 | UINT Top; |
|---|
| | 3488 | UINT Right; |
|---|
| | 3489 | UINT Bottom; |
|---|
| | 3490 | COLORREF crLeft; |
|---|
| | 3491 | COLORREF crTop; |
|---|
| | 3492 | COLORREF crRight; |
|---|
| | 3493 | COLORREF crBottom; |
|---|
| | 3494 | COLORREF crHeader; |
|---|
| | 3495 | COLORREF crFooter; |
|---|
| | 3496 | } |
|---|
| | 3497 | alias LVGROUPMETRICS* PLVGROUPMETRICS; |
|---|
| | 3498 | |
|---|
| | 3499 | struct LVINSERTMARK { |
|---|
| | 3500 | UINT cbSize = LVINSERTMARK.sizeof; |
|---|
| | 3501 | DWORD dwFlags; |
|---|
| | 3502 | int iItem; |
|---|
| | 3503 | DWORD dwReserved; |
|---|
| | 3504 | } |
|---|
| | 3505 | alias LVINSERTMARK* PLVINSERTMARK; |
|---|
| | 3506 | |
|---|
| | 3507 | struct LVTILEINFO { |
|---|
| | 3508 | UINT cbSize = LVTILEINFO.sizeof; |
|---|
| | 3509 | int iItem; |
|---|
| | 3510 | UINT cColumns; |
|---|
| | 3511 | PUINT puColumns; |
|---|
| | 3512 | static if (_WIN32_WINNT >= 0x600) { |
|---|
| | 3513 | int* piColFmt; |
|---|
| | 3514 | } |
|---|
| | 3515 | } |
|---|
| | 3516 | alias LVTILEINFO* PLVTILEINFO; |
|---|
| | 3517 | |
|---|
| | 3518 | struct LVTILEVIEWINFO { |
|---|
| | 3519 | UINT cbSize = LVTILEVIEWINFO.sizeof; |
|---|
| | 3520 | DWORD dwMask; |
|---|
| | 3521 | DWORD dwFlags; |
|---|
| | 3522 | SIZE sizeTile; |
|---|
| | 3523 | int cLines; |
|---|
| | 3524 | RECT rcLabelMargin; |
|---|
| | 3525 | } |
|---|
| | 3526 | alias LVTILEVIEWINFO* PLVTILEVIEWINFO; |
|---|
| | 3527 | |
|---|
| | 3528 | struct LVINSERTGROUPSORTED { |
|---|
| | 3529 | PFNLVGROUPCOMPARE pfnGroupCompare; |
|---|
| | 3530 | LPVOID* pvData; |
|---|
| | 3531 | LVGROUP lvGroup; |
|---|
| | 3532 | } |
|---|
| | 3533 | alias LVINSERTGROUPSORTED* PLVINSERTGROUPSORTED; |
|---|
| | 3534 | |
|---|
| | 3535 | alias int function(INT, INT, VOID*) PFNLVGROUPCOMPARE; |
|---|
| | 3536 | |
|---|
| | 3537 | struct LVSETINFOTIP { |
|---|
| | 3538 | UINT cbSize = LVSETINFOTIP.sizeof; |
|---|
| | 3539 | DWORD dwFlags; |
|---|
| | 3540 | LPWSTR pszText; |
|---|
| | 3541 | int iItem; |
|---|
| | 3542 | int iSubItem; |
|---|
| | 3543 | HBITMAP hbmp; |
|---|
| | 3544 | } |
|---|
| | 3545 | alias LVSETINFOTIP* PLVSETINFOTIP; |
|---|
| | 3546 | } |
|---|
| | 3547 | |
|---|
| | 5087 | } |
|---|
| | 5088 | |
|---|
| | 5089 | void ListView_CancelEditLabel(HWND w) { |
|---|
| | 5090 | SendMessage(w, LVM_CANCELEDITLABEL, 0, 0); |
|---|
| | 5091 | } |
|---|
| | 5092 | |
|---|
| | 5093 | int ListView_EnableGroupView(HWND w, BOOL i) { |
|---|
| | 5094 | return cast(int) SendMessage(w, LVM_ENABLEGROUPVIEW, i, 0); |
|---|
| | 5095 | } |
|---|
| | 5096 | |
|---|
| | 5097 | static if (_WIN32_WINDOWS >= 0x410 && (_WIN32_WINNT >= 0x500 || _WIN32_IE >= 0x500)) { |
|---|
| | 5098 | BOOL ListView_SortItemsEx(HWND w, PFNLVCOMPARE c, LPARAM p) { |
|---|
| | 5099 | return SendMessage(w, LVM_SORTITEMSEX, cast(WPARAM) p, c); |
|---|
| | 5100 | } |
|---|
| | 5101 | } |
|---|
| | 5102 | |
|---|
| | 5103 | static if (_WIN32_WINNT >= 0x501) { |
|---|
| | 5104 | int ListView_GetGroupInfo(HWND w, int i, PLVGROUP p) { |
|---|
| | 5105 | return SendMessage(w, LVM_GETGROUPINFO, i, cast(LPARAM) p); |
|---|
| | 5106 | } |
|---|
| | 5107 | |
|---|
| | 5108 | void ListView_GetGroupMetrics(HWND w, PLVGROUPMETRICS p) { |
|---|
| | 5109 | SendMessage(w, LVM_GETGROUPMETRICS, 0, cast(LPARAM) p); |
|---|
| | 5110 | } |
|---|
| | 5111 | |
|---|
| | 5112 | BOOL ListView_GetInsertMark(HWND w, PLVINSERTMARK p) { |
|---|
| | 5113 | return SendMessage(w, LVM_GETINSERTMARK, 0, cast(LPARAM) p); |
|---|
| | 5114 | } |
|---|
| | 5115 | |
|---|
| | 5116 | COLORREF ListView_GetInsertMarkColor(HWND w) { |
|---|
| | 5117 | return SendMessage(w, LVM_GETINSERTMARKCOLOR, 0, 0); |
|---|
| | 5118 | } |
|---|
| | 5119 | |
|---|
| | 5120 | int ListView_GetInsertMarkRect(HWND w, LPRECT p) { |
|---|
| | 5121 | return SendMessage(w, LVM_GETINSERTMARKRECT, 0, cast(LPARAM) p); |
|---|
| | 5122 | } |
|---|
| | 5123 | |
|---|
| | 5124 | COLORREF ListView_GetOutlineColor(HWND w) { |
|---|
| | 5125 | return SendMessage(w, LVM_GETOUTLINECOLOR, 0, 0); |
|---|
| | 5126 | } |
|---|
| | 5127 | |
|---|
| | 5128 | UINT ListView_GetSelectedColumn(HWND w) { |
|---|
| | 5129 | return SendMessage(w, LVM_GETSELECTEDCOLUMN, 0, 0); |
|---|
| | 5130 | } |
|---|
| | 5131 | |
|---|
| | 5132 | void ListView_GetTileInfo(HWND w, PLVTILEINFO p) { |
|---|
| | 5133 | SendMessage(w, LVM_GETTILEINFO, 0, cast(LPARAM) p); |
|---|
| | 5134 | } |
|---|
| | 5135 | |
|---|
| | 5136 | void ListView_GetTileViewInfo(HWND w, PLVTILEVIEWINFO p) { |
|---|
| | 5137 | SendMessage(w, LVM_GETTILEVIEWINFO, 0, cast(LPARAM) p); |
|---|
| | 5138 | } |
|---|
| | 5139 | |
|---|
| | 5140 | DWORD ListView_GetView(HWND w) { |
|---|
| | 5141 | return SendMessage(w, LVM_GETVIEW, 0, 0); |
|---|
| | 5142 | } |
|---|
| | 5143 | |
|---|
| | 5144 | BOOL ListView_HasGroup(HWND w, int i) { |
|---|
| | 5145 | return SendMessage(w, LVM_HASGROUP, i, 0); |
|---|
| | 5146 | } |
|---|
| | 5147 | |
|---|
| | 5148 | int ListView_InsertGroup(HWND w, int i, PLVGROUP p) { |
|---|
| | 5149 | return SendMessage(w, LVM_INSERTGROUP, i, cast(LPARAM) p); |
|---|
| | 5150 | } |
|---|
| | 5151 | |
|---|
| | 5152 | void ListView_InsertGroupSorted(HWND w, PLVINSERTGROUPSORTED p) { |
|---|
| | 5153 | SendMessage(w, LVM_INSERTGROUPSORTED, cast(WPARAM) p, 0); |
|---|
| | 5154 | } |
|---|
| | 5155 | |
|---|
| | 5156 | BOOL ListView_InsertMarkHitTest(HWND w, LPPOINT p, PLVINSERTMARK t) { |
|---|
| | 5157 | return SendMessage(w, LVM_INSERTMARKHITTEST, cast(WPARAM) p, cast(LPARAM) t); |
|---|
| | 5158 | } |
|---|
| | 5159 | |
|---|
| | 5160 | BOOL ListView_IsGroupViewEnabled(HWND w) { |
|---|
| | 5161 | return SendMessage(w, LVM_ISGROUPVIEWENABLED, 0, 0); |
|---|
| | 5162 | } |
|---|
| | 5163 | |
|---|
| | 5164 | UINT ListView_MapIDToIndex(HWND w, UINT i) { |
|---|
| | 5165 | return SendMessage(w, LVM_MAPIDTOINDEX, i, 0); |
|---|
| | 5166 | } |
|---|
| | 5167 | |
|---|
| | 5168 | /* ??? MSDN documents this as "Not implemented", except in relation to |
|---|
| | 5169 | * Windows CE/Mobile. |
|---|
| | 5170 | */ |
|---|
| | 5171 | void ListView_MoveGroup(HWND w, int i, int t) { |
|---|
| | 5172 | SendMessage(w, LVM_MOVEGROUP, i, t); |
|---|
| | 5173 | } |
|---|
| | 5174 | |
|---|
| | 5175 | void ListView_RemoveAllGroups(HWND w) { |
|---|
| | 5176 | SendMessage(w, LVM_REMOVEALLGROUPS, 0, 0); |
|---|
| | 5177 | } |
|---|
| | 5178 | |
|---|
| | 5179 | int ListView_RemoveGroup(HWND w, int i) { |
|---|
| | 5180 | return SendMessage(w, LVM_REMOVEGROUP, i, 0); |
|---|
| | 5181 | } |
|---|
| | 5182 | |
|---|
| | 5183 | int ListView_SetGroupInfo(HWND w, int i, PLVGROUP p) { |
|---|
| | 5184 | return SendMessage(w, LVM_SETGROUPINFO, i, cast(LPARAM) p); |
|---|
| | 5185 | } |
|---|
| | 5186 | |
|---|
| | 5187 | void ListView_SetGroupMetrics(HWND w, PLVGROUPMETRICS p) { |
|---|
| | 5188 | SendMessage(w, LVM_SETGROUPMETRICS, 0, cast(LPARAM) p); |
|---|
| | 5189 | } |
|---|
| | 5190 | |
|---|
| | 5191 | BOOL ListView_SetInfoTip(HWND w, PLVSETINFOTIP p) { |
|---|
| | 5192 | return SendMessage(w, LVM_SETINFOTIP, 0, cast(LPARAM) p); |
|---|
| | 5193 | } |
|---|
| | 5194 | |
|---|
| | 5195 | BOOL ListView_SetInsertMark(HWND w, PLVINSERTMARK p) { |
|---|
| | 5196 | return SendMessage(w, LVM_SETINSERTMARK, 0, cast(LPARAM) p); |
|---|
| | 5197 | } |
|---|
| | 5198 | |
|---|
| | 5199 | COLORREF ListView_SetInsertMarkColor(HWND w, COLORREF c) { |
|---|
| | 5200 | return SendMessage(w, LVM_SETINSERTMARKCOLOR, 0, c); |
|---|
| | 5201 | } |
|---|
| | 5202 | |
|---|
| | 5203 | COLORREF ListView_SetOutlineColor(HWND w, COLORREF c) { |
|---|
| | 5204 | return SendMessage(w, LVM_SETOUTLINECOLOR, 0, c); |
|---|
| | 5205 | } |
|---|
| | 5206 | |
|---|
| | 5207 | void ListView_SetSelectedColumn(HWND w, int i) { |
|---|
| | 5208 | SendMessage(w, LVM_SETSELECTEDCOLUMN, i, 0); |
|---|
| | 5209 | } |
|---|
| | 5210 | |
|---|
| | 5211 | BOOL ListView_SetTileInfo(HWND w, PLVTILEINFO p) { |
|---|
| | 5212 | return SendMessage(w, LVM_SETTILEINFO, 0, cast(LPARAM) p); |
|---|
| | 5213 | } |
|---|
| | 5214 | |
|---|
| | 5215 | BOOL ListView_SetTileViewInfo(HWND w, PLVTILEVIEWINFO p) { |
|---|
| | 5216 | return SendMessage(w, LVM_SETTILEVIEWINFO, 0, cast(LPARAM) p); |
|---|
| | 5217 | } |
|---|
| | 5218 | |
|---|
| | 5219 | int ListView_SetView(HWND w, DWORD i) { |
|---|
| | 5220 | return SendMessage(w, LVM_SETVIEW, i, 0); |
|---|
| | 5221 | } |
|---|
| | 5222 | |
|---|
| | 5223 | int ListView_SortGroups(HWND w, PFNLVGROUPCOMPARE c, LPVOID p) { |
|---|
| | 5224 | return SendMessage(w, LVM_SORTGROUPS, cast(WPARAM) c, cast(LPARAM) p); |
|---|
| | 5225 | } |
|---|
| | 5847 | |
|---|
| | 5848 | |
|---|
| | 5849 | //#ifdef _WIN32_WCE // these are PPC only |
|---|
| | 5850 | /+ |
|---|
| | 5851 | extern (Windows) { |
|---|
| | 5852 | HWND CommandBar_Create(HINSTANCE, HWND, int); |
|---|
| | 5853 | BOOL CommandBar_Show(HWND, BOOL); |
|---|
| | 5854 | int CommandBar_AddBitmap(HWND, HINSTANCE, int, int, int, int); |
|---|
| | 5855 | HWND CommandBar_InsertComboBox(HWND, HINSTANCE, int, UINT, WORD, WORD); |
|---|
| | 5856 | BOOL CommandBar_InsertMenubar(HWND, HINSTANCE, WORD, WORD ); |
|---|
| | 5857 | BOOL CommandBar_InsertMenubarEx(HWND, HINSTANCE, LPTSTR, WORD); |
|---|
| | 5858 | BOOL CommandBar_DrawMenuBar(HWND, WORD); |
|---|
| | 5859 | HMENU CommandBar_GetMenu(HWND, WORD); |
|---|
| | 5860 | BOOL CommandBar_AddAdornments(HWND, DWORD, DWORD); |
|---|
| | 5861 | int CommandBar_Height(HWND hwndCB); |
|---|
| | 5862 | } |
|---|
| | 5863 | |
|---|
| | 5864 | // MinGW: These two are not in the DLL |
|---|
| | 5865 | void CommandBar_InsertButton(HWND hwnd, int i, LPTBBUTTON lptbbutton) { |
|---|
| | 5866 | SendMessage(hwnd, TB_INSERTBUTTON, i, lptbbutton); |
|---|
| | 5867 | } |
|---|
| | 5868 | alias DestroyWindow CommandBar_Destroy; |
|---|
| | 5869 | +/ |
|---|
| | 5870 | //#endif // _WIN32_WCE |
|---|