| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097 |
- #+build windows
- package sys_windows
- foreign import "system:Comctl32.lib"
- @(default_calling_convention="system")
- foreign Comctl32 {
- InitCommonControlsEx :: proc(picce: ^INITCOMMONCONTROLSEX) -> BOOL ---
- LoadIconWithScaleDown :: proc(hinst: HINSTANCE, pszName: PCWSTR, cx: c_int, cy: c_int, phico: ^HICON) -> HRESULT ---
- SetWindowSubclass :: proc(hwnd: HWND, pfnSubclass: SUBCLASSPROC, uIdSubclass: UINT_PTR, dwRefData: DWORD_PTR) ---
- }
- ICC_LISTVIEW_CLASSES :: 0x00000001
- ICC_TREEVIEW_CLASSES :: 0x00000002
- ICC_BAR_CLASSES :: 0x00000004
- ICC_TAB_CLASSES :: 0x00000008
- ICC_UPDOWN_CLASS :: 0x00000010
- ICC_PROGRESS_CLASS :: 0x00000020
- ICC_HOTKEY_CLASS :: 0x00000040
- ICC_ANIMATE_CLASS :: 0x00000080
- ICC_WIN95_CLASSES :: 0x000000FF
- ICC_DATE_CLASSES :: 0x00000100
- ICC_USEREX_CLASSES :: 0x00000200
- ICC_COOL_CLASSES :: 0x00000400
- ICC_INTERNET_CLASSES :: 0x00000800
- ICC_PAGESCROLLER_CLASS :: 0x00001000
- ICC_NATIVEFNTCTL_CLASS :: 0x00002000
- ICC_STANDARD_CLASSES :: 0x00004000
- ICC_LINK_CLASS :: 0x00008000
- INITCOMMONCONTROLSEX :: struct {
- dwSize: DWORD,
- dwICC: DWORD,
- }
- COMCTL32_VERSION :: 6
- HINST_COMMCTRL :: cast(HINSTANCE)(~uintptr(0))
- // Common Control Class Names
- WC_HEADER :: "SysHeader32"
- WC_LISTVIEW :: "SysListView32"
- WC_TREEVIEW :: "SysTreeView32"
- WC_COMBOBOXEX :: "ComboBoxEx32"
- WC_TABCONTROL :: "SysTabControl32"
- WC_IPADDRESS :: "SysIPAddress32"
- WC_PAGESCROLLER :: "SysPager"
- WC_NATIVEFONTCTL :: "NativeFontCtl"
- WC_BUTTON :: "Button"
- WC_STATIC :: "Static"
- WC_EDIT :: "Edit"
- WC_LISTBOX :: "ListBox"
- WC_COMBOBOX :: "ComboBox"
- WC_SCROLLBAR :: "ScrollBar"
- WC_LINK :: "SysLink"
- TOOLBARCLASSNAME :: "ToolbarWindow32"
- REBARCLASSNAME :: "ReBarWindow32"
- STATUSCLASSNAME :: "msctls_statusbar32"
- TOOLTIPS_CLASS :: "tooltips_class32"
- TRACKBAR_CLASS :: "msctls_trackbar32"
- UPDOWN_CLASS :: "msctls_updown32"
- PROGRESS_CLASS :: "msctls_progress32"
- HOTKEY_CLASS :: "msctls_hotkey32"
- ANIMATE_CLASS :: "SysAnimate32"
- MONTHCAL_CLASS :: "SysMonthCal32"
- DATETIMEPICK_CLASS :: "SysDateTimePick32"
- // Common Control Constants
- MSGF_COMMCTRL_BEGINDRAG :: 0x4200
- MSGF_COMMCTRL_SIZEHEADER :: 0x4201
- MSGF_COMMCTRL_DRAGSELECT :: 0x4202
- MSGF_COMMCTRL_TOOLBARCUST :: 0x4203
- // Custom Draw Constants
- CDRF_DODEFAULT :: 0x00
- CDRF_NEWFONT :: 0x02
- CDRF_SKIPDEFAULT :: 0x04
- CDRF_NOTIFYPOSTPAINT :: 0x10
- CDRF_NOTIFYITEMDRAW :: 0x20
- CDRF_NOTIFYSUBITEMDRAW :: 0x20
- CDRF_NOTIFYPOSTERASE :: 0x40
- CDDS_PREPAINT :: 0x00001
- CDDS_POSTPAINT :: 0x00002
- CDDS_PREERASE :: 0x00003
- CDDS_POSTERASE :: 0x00004
- CDDS_ITEM :: 0x10000
- CDDS_ITEMPREPAINT :: (CDDS_ITEM | CDDS_PREPAINT)
- CDDS_ITEMPOSTPAINT :: (CDDS_ITEM | CDDS_POSTPAINT)
- CDDS_ITEMPREERASE :: (CDDS_ITEM | CDDS_PREERASE)
- CDDS_ITEMPOSTERASE :: (CDDS_ITEM | CDDS_POSTERASE)
- CDDS_SUBITEM :: 0x20000
- CDIS_SELECTED :: 0x001
- CDIS_GRAYED :: 0x002
- CDIS_DISABLED :: 0x004
- CDIS_CHECKED :: 0x008
- CDIS_FOCUS :: 0x010
- CDIS_DEFAULT :: 0x020
- CDIS_HOT :: 0x040
- CDIS_MARKED :: 0x080
- CDIS_INDETERMINATE :: 0x100
- CDIS_SHOWKEYBOARDCUES :: 0x200
- // Image Lists
- CLR_NONE :: 0xFFFFFFFF
- CLR_DEFAULT :: 0xFF000000
- ILC_MASK :: 0x00000001
- ILC_COLOR :: 0x00000000
- ILC_COLORDDB :: 0x000000FE
- ILC_COLOR4 :: 0x00000004
- ILC_COLOR8 :: 0x00000008
- ILC_COLOR16 :: 0x00000010
- ILC_COLOR24 :: 0x00000018
- ILC_COLOR32 :: 0x00000020
- ILC_PALETTE :: 0x00000800
- ILC_MIRROR :: 0x00002000
- ILC_PERITEMMIRROR :: 0x00008000
- ILC_ORIGINALSIZE :: 0x00010000
- ILC_HIGHQUALITYSCALE :: 0x00020000
- ILD_NORMAL :: 0x00000000
- ILD_TRANSPARENT :: 0x00000001
- ILD_MASK :: 0x00000010
- ILD_IMAGE :: 0x00000020
- ILD_ROP :: 0x00000040
- ILD_BLEND25 :: 0x00000002
- ILD_BLEND50 :: 0x00000004
- ILD_OVERLAYMASK :: 0x00000F00
- ILD_PRESERVEALPHA :: 0x00001000
- ILD_SCALE :: 0x00002000
- ILD_DPISCALE :: 0x00004000
- ILD_ASYNC :: 0x00008000
- ILD_SELECTED :: ILD_BLEND50
- ILD_FOCUS :: ILD_BLEND25
- ILD_BLEND :: ILD_BLEND50
- CLR_HILIGHT :: CLR_DEFAULT
- ILS_NORMAL :: 0x00000000
- ILS_GLOW :: 0x00000001
- ILS_SHADOW :: 0x00000002
- ILS_SATURATE :: 0x00000004
- ILS_ALPHA :: 0x00000008
- ILGT_NORMAL :: 0x00000000
- ILGT_ASYNC :: 0x00000001
- ILCF_MOVE :: 0x00000000
- ILCF_SWAP :: 0x00000001
- ILP_NORMAL :: 0
- ILP_DOWNLEVEL :: 1
- IMAGELISTDRAWPARAMS :: struct {
- cbSize: DWORD,
- himl: HIMAGELIST,
- i: i32,
- hdcDst: HDC,
- x: i32,
- y: i32,
- cx: i32,
- cy: i32,
- xBitmap: i32,
- yBitmap: i32,
- rgbBk: COLORREF,
- rgbFg: COLORREF,
- fStyle: UINT,
- dwRop: DWORD,
- fState: DWORD,
- Frame: DWORD,
- crEffect: COLORREF,
- }
- LPIMAGELISTDRAWPARAMS :: ^IMAGELISTDRAWPARAMS
- IMAGEINFO :: struct {
- hbmImage: HBITMAP,
- hbmMask: HBITMAP,
- Unused1: i32,
- Unused2: i32,
- rcImage: RECT,
- }
- LPIMAGEINFO :: ^IMAGEINFO
- @(default_calling_convention="system")
- foreign Comctl32 {
- ImageList_Create :: proc(cx, cy: i32, flags: UINT, cInitial, cGrow: i32) -> HIMAGELIST ---
- ImageList_Destroy :: proc(himl: HIMAGELIST) -> BOOL ---
- ImageList_GetImageCount :: proc(himl: HIMAGELIST) -> i32 ---
- ImageList_SetImageCount :: proc(himl: HIMAGELIST, uNewCount: UINT) -> BOOL ---
- ImageList_Add :: proc(himl: HIMAGELIST, hbmImage, hbmMask: HBITMAP) -> i32 ---
- ImageList_ReplaceIcon :: proc(himl: HIMAGELIST, i: i32, hicon: HICON) -> i32 ---
- ImageList_SetBkColor :: proc(himl: HIMAGELIST, clrBk: COLORREF) -> COLORREF ---
- ImageList_GetBkColor :: proc(himl: HIMAGELIST) -> COLORREF ---
- ImageList_SetOverlayImage :: proc(himl: HIMAGELIST, iImage: i32, iOverlay: i32) -> BOOL ---
- ImageList_Draw :: proc(himl: HIMAGELIST, i: i32, hdcDst: HDC, x, y: i32, fStyle: UINT) -> BOOL ---
- ImageList_Replace :: proc(himl: HIMAGELIST, i: i32, hbmImage, hbmMask: HBITMAP) -> BOOL ---
- ImageList_AddMasked :: proc(himl: HIMAGELIST, hbmImage: HBITMAP, crMask: COLORREF) -> i32 ---
- ImageList_DrawEx :: proc(himl: HIMAGELIST, i: i32, hdcDst: HDC, x, y, dx, dy: i32, rgbBk, rgbFg: COLORREF, fStyle: UINT) -> BOOL ---
- ImageList_DrawIndirect :: proc(pimldp: ^IMAGELISTDRAWPARAMS) -> BOOL ---
- ImageList_Remove :: proc(himl: HIMAGELIST, i: i32) -> BOOL ---
- ImageList_GetIcon :: proc(himl: HIMAGELIST, i: i32, flags: UINT) -> HICON ---
- ImageList_LoadImageW :: proc(hi: HINSTANCE, lpbmp: LPCWSTR, cx, cgrow: i32, crMask: COLORREF, uType, uFlags: UINT) -> HIMAGELIST ---
- ImageList_Copy :: proc(himlDst: HIMAGELIST, iDst: i32, himlSrc: HIMAGELIST, iSrc: i32, uFlags: UINT) -> BOOL ---
- ImageList_BeginDrag :: proc(himlTrack: HIMAGELIST, iTrack, dxHotspot, dyHotspot: i32) -> BOOL ---
- ImageList_EndDrag :: proc() ---
- ImageList_DragEnter :: proc(hwndLock: HWND, x, y: i32) -> BOOL ---
- ImageList_DragLeave :: proc(hwndLock: HWND) -> BOOL ---
- ImageList_DragMove :: proc(x, y: i32) -> BOOL ---
- ImageList_SetDragCursorImage :: proc(himlDrag: HIMAGELIST, iDrag, dxHotspot, dyHotspot: i32) -> BOOL ---
- ImageList_DragShowNolock :: proc(fShow: BOOL) -> BOOL ---
- ImageList_GetDragImage :: proc(ppt, pptHotspot: ^POINT) -> HIMAGELIST ---
- ImageList_Read :: proc(pstm: ^IStream) -> HIMAGELIST ---
- ImageList_Write :: proc(himl: HIMAGELIST, pstm: ^IStream) -> BOOL ---
- ImageList_ReadEx :: proc(dwFlags: DWORD, pstm: ^IStream, riid: REFIID, ppv: PVOID) -> HRESULT ---
- ImageList_WriteEx :: proc(himl: HIMAGELIST, dwFlags: DWORD, pstm: ^IStream) -> HRESULT ---
- ImageList_GetIconSize :: proc(himl: HIMAGELIST, cx, cy: ^i32) -> BOOL ---
- ImageList_SetIconSize :: proc(himl: HIMAGELIST, cx, cy: i32) -> BOOL ---
- ImageList_GetImageInfo :: proc(himl: HIMAGELIST, i: i32, pImageInfo: ^IMAGEINFO) -> BOOL ---
- ImageList_Merge :: proc(himl1: HIMAGELIST, i1: i32, himl2: HIMAGELIST, i2: i32, dx, dy: i32) -> HIMAGELIST ---
- ImageList_Duplicate :: proc(himl: HIMAGELIST) -> HIMAGELIST ---
- HIMAGELIST_QueryInterface :: proc(himl: HIMAGELIST, riid: REFIID, ppv: rawptr) -> HRESULT ---
- }
- ImageList_AddIcon :: #force_inline proc "system" (himl: HIMAGELIST, hicon: HICON) -> i32 {
- return ImageList_ReplaceIcon(himl, -1, hicon)
- }
- ImageList_RemoveAll :: #force_inline proc "system" (himl: HIMAGELIST) -> BOOL {
- return ImageList_Remove(himl, -1)
- }
- ImageList_ExtractIcon :: #force_inline proc "system" (hi: HINSTANCE, himl: HIMAGELIST, i: i32) -> HICON {
- return ImageList_GetIcon(himl, i, 0)
- }
- ImageList_LoadBitmap :: #force_inline proc "system" (hi: HINSTANCE, lpbmp: LPCWSTR, cx, cGrow: i32, crMask: COLORREF) -> HIMAGELIST {
- return ImageList_LoadImageW(hi, lpbmp, cx, cGrow, crMask, IMAGE_BITMAP, 0)
- }
- // Status Bar Control
- SBT_NOBORDERS :: 0x0100
- SBT_POPOUT :: 0x0200
- SBT_RTLREADING :: 0x0400
- SBT_NOTABPARSING :: 0x0800
- SBT_OWNERDRAW :: 0x1000
- SBN_SIMPLEMODECHANGE :: SBN_FIRST - 0
- SB_SIMPLEID :: 0xFF
- @(default_calling_convention="system")
- foreign Comctl32 {
- DrawStatusTextW :: proc(hDC: HDC, lprc: ^RECT, pszText: LPCWSTR, uFlags: UINT) ---
- CreateStatusWindowW :: proc(style: LONG, lpszText: LPCWSTR, hwndParent: HWND, wID: UINT) -> HWND ---
- }
- // Menu Help
- MINSYSCOMMAND :: SC_SIZE
- @(default_calling_convention="system")
- foreign Comctl32 {
- MenuHelp :: proc(uMsg: UINT, wParam: WPARAM, lParam: LPARAM, hMainMenu: HMENU, hInst: HINSTANCE, hwndStatus: HWND, lpwIDs: ^UINT) ---
- ShowHideMenuCtl :: proc(hWnd: HWND, uFlags: UINT_PTR, lpInfo: LPINT) -> BOOL ---
- GetEffectiveClientRect :: proc(hWnd: HWND, lprc: LPRECT, lpInfo: ^INT) ---
- }
- // Drag List
- DL_CURSORSET :: 0
- DL_STOPCURSOR :: 1
- DL_COPYCURSOR :: 2
- DL_MOVECURSOR :: 3
- DRAGLISTMSGSTRING :: "commctrl_DragListMsg"
- @(default_calling_convention="system")
- foreign Comctl32 {
- MakeDragList :: proc(hLB: HWND) -> BOOL ---
- DrawInsert :: proc(handParent: HWND, hLB: HWND, nItem: c_int) ---
- LBItemFromPt :: proc(hLB: HWND, pt: POINT, bAutoScroll: BOOL) -> c_int ---
- }
- // Header Control
- HDTEXTFILTERW :: struct {
- pszText: LPWSTR,
- cchTextMax: INT,
- }
- HD_TEXTFILTERW :: HDTEXTFILTERW
- LPHDTEXTFILTERW :: ^HDTEXTFILTERW
- LPHD_TEXTFILTERW :: LPHDTEXTFILTERW
- HDITEMW :: struct {
- mask: UINT,
- cxy: c_int,
- pszText: LPWSTR,
- hbm: HBITMAP,
- cchTextMax: c_int,
- fmt: c_int,
- lParam: LPARAM,
- iImage: c_int,
- iOrder: c_int,
- type: UINT,
- pvFilter: rawptr,
- }
- HD_ITEMW :: HDITEMW
- LPHDITEMW :: ^HDITEMW
- LPHD_ITEMW :: LPHDITEMW
- HDLAYOUT :: struct {
- prc: ^RECT,
- pwpos: ^WINDOWPOS,
- }
- HD_LAYOUT :: HDLAYOUT
- LPHDLAYOUT :: ^HDLAYOUT
- LPHD_LAYOUT :: LPHDLAYOUT
- HDHITTESTINFO :: struct {
- pt: POINT,
- flags: UINT,
- iItem: c_int,
- }
- HD_HITTESTINFO :: HDHITTESTINFO
- LPHDHITTESTINFO :: ^HDHITTESTINFO
- LPHD_HITTESTINFO :: LPHDHITTESTINFO
- NMHEADERW :: struct {
- hdr: NMHDR,
- iItem: c_int,
- iButton: c_int,
- pitem: ^HDITEMW,
- }
- LPNMHEADERW :: ^NMHEADERW
- HD_NOTIFYW :: NMHEADERW
- LPHD_NOTIFYW :: LPNMHEADERW
- NMHDDISPINFOW :: struct {
- hdr: NMHDR,
- iItem: c_int,
- mask: UINT,
- pszText: LPWSTR,
- cchTextMax: c_int,
- iImage: c_int,
- lParam: LPARAM,
- }
- LPNMHDDISPINFOW :: ^NMHDDISPINFOW
- NMHDFILTERBTNCLICK :: struct {
- hdr: NMHDR,
- iItem: c_int,
- rc: RECT,
- }
- LPNMHDFILTERBTNCLICK :: ^NMHDFILTERBTNCLICK
- Header_GetItemCount :: #force_inline proc "system" (hwndHD: HWND) -> c_int {
- return cast(c_int)SendMessageW(hwndHD, HDM_GETITEMCOUNT, 0, 0)
- }
- Header_InsertItem :: #force_inline proc "system" (hwndHD: HWND, i: c_int, phdi: ^HD_ITEMW) -> c_int {
- return cast(c_int)SendMessageW(hwndHD, HDM_INSERTITEMW, cast(WPARAM)i, cast(LPARAM)uintptr(phdi))
- }
- Header_DeleteItem :: #force_inline proc "system" (hwndHD: HWND, i: c_int) -> BOOL {
- return cast(BOOL)SendMessageW(hwndHD, HDM_DELETEITEM, cast(WPARAM)i, 0)
- }
- Header_GetItem :: #force_inline proc "system" (hwndHD: HWND, i: c_int, phdi: ^HD_ITEMW) -> BOOL {
- return cast(BOOL)SendMessageW(hwndHD, HDM_GETITEMW, cast(WPARAM)i, cast(LPARAM)uintptr(phdi))
- }
- Header_SetItem :: #force_inline proc "system" (hwndHD: HWND, i: c_int, phdi: ^HD_ITEMW) -> BOOL {
- return cast(BOOL)SendMessageW(hwndHD, HDM_SETITEMW, cast(WPARAM)i, cast(LPARAM)uintptr(phdi))
- }
- Header_Layout :: #force_inline proc "system" (hwndHD: HWND, playout: ^HD_LAYOUT) -> BOOL {
- return cast(BOOL)SendMessageW(hwndHD, HDM_LAYOUT, 0, cast(LPARAM)uintptr(playout))
- }
- Header_GetItemRect :: #force_inline proc "system" (hwnd: HWND, iItem: c_int, lprc: ^RECT) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd,HDM_GETITEMRECT,cast(WPARAM)iItem,cast(LPARAM)uintptr(lprc))
- }
- Header_SetImageList :: #force_inline proc "system" (hwnd: HWND, himl: HIMAGELIST) -> HIMAGELIST {
- return cast(HIMAGELIST)uintptr(SendMessageW(hwnd,HDM_SETIMAGELIST,0,cast(LPARAM)uintptr(himl)))
- }
- Header_GetImageList :: #force_inline proc "system" (hwnd: HWND) -> HIMAGELIST {
- return cast(HIMAGELIST)uintptr(SendMessageW(hwnd,HDM_GETIMAGELIST,0,0))
- }
- Header_OrderToIndex :: #force_inline proc "system" (hwnd: HWND, i: c_int) -> c_int {
- return cast(c_int)SendMessageW(hwnd,HDM_ORDERTOINDEX,cast(WPARAM)i,0)
- }
- Header_CreateDragImage :: #force_inline proc "system" (hwnd: HWND, i: c_int) -> HIMAGELIST {
- return cast(HIMAGELIST)uintptr(SendMessageW(hwnd,HDM_CREATEDRAGIMAGE,cast(WPARAM)i,0))
- }
- Header_GetOrderArray :: #force_inline proc "system" (hwnd: HWND, iCount: c_int, lpi: ^c_int) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd,HDM_GETORDERARRAY,cast(WPARAM)iCount,cast(LPARAM)uintptr(lpi))
- }
- Header_SetOrderArray :: #force_inline proc "system" (hwnd: HWND, iCount: c_int, lpi: ^c_int) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd,HDM_SETORDERARRAY,cast(WPARAM)iCount,cast(LPARAM)uintptr(lpi))
- }
- Header_SetHotDivider :: #force_inline proc "system" (hwnd: HWND, fPos: BOOL, dw: DWORD) -> c_int {
- return cast(c_int)SendMessageW(hwnd,HDM_SETHOTDIVIDER,cast(WPARAM)fPos,cast(LPARAM)dw)
- }
- Header_SetBitmapMargin :: #force_inline proc "system" (hwnd: HWND, iWidth: c_int) -> c_int {
- return cast(c_int)SendMessageW(hwnd,HDM_SETBITMAPMARGIN,cast(WPARAM)iWidth,0)
- }
- Header_GetBitmapMargin :: #force_inline proc "system" (hwnd: HWND) -> c_int {
- return cast(c_int)SendMessageW(hwnd,HDM_GETBITMAPMARGIN,0,0)
- }
- Header_SetUnicodeFormat :: #force_inline proc "system" (hwnd: HWND, fUnicode: BOOL) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd,HDM_SETUNICODEFORMAT,cast(WPARAM)fUnicode,0)
- }
- Header_GetUnicodeFormat :: #force_inline proc "system" (hwnd: HWND) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd,HDM_GETUNICODEFORMAT,0,0)
- }
- Header_SetFilterChangeTimeout :: #force_inline proc "system" (hwnd: HWND, i: c_int) -> c_int {
- return cast(c_int)SendMessageW(hwnd,HDM_SETFILTERCHANGETIMEOUT,0,cast(LPARAM)i)
- }
- Header_EditFilter :: #force_inline proc "system" (hwnd: HWND, i: c_int, fDiscardChanges: BOOL) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd,HDM_EDITFILTER,cast(WPARAM)i,MAKELPARAM(fDiscardChanges,0))
- }
- Header_ClearFilter :: #force_inline proc "system" (hwnd: HWND, i: c_int) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd,HDM_CLEARFILTER,cast(WPARAM)i,0)
- }
- Header_ClearAllFilters :: #force_inline proc "system" (hwnd: HWND) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd,HDM_CLEARFILTER,~WPARAM(0),0)
- }
- // Toolbar Control
- COLORSCHEME :: struct {
- dwSize: DWORD,
- clrBtnHighlight: COLORREF,
- clrBtnShadow: COLORREF,
- }
- LPCOLORSCHEME :: ^COLORSCHEME
- COLORMAP :: struct {
- from: COLORREF,
- to: COLORREF,
- }
- LPCOLORMAP :: ^COLORMAP
- TBBUTTON :: struct {
- iBitmap: c_int,
- idCommand: c_int,
- fsState: BYTE,
- fsStyle: BYTE,
- bReserved: [size_of(uintptr) - 2]BYTE,
- dwData: DWORD_PTR,
- iString: INT_PTR,
- }
- PTBBUTTON :: ^TBBUTTON
- LPTBBUTTON :: ^TBBUTTON
- LPCTBBUTTON :: ^TBBUTTON
- TBADDBITMAP :: struct {
- hInst: HINSTANCE,
- nID: UINT_PTR,
- }
- LPTBADDBITMAP :: ^TBADDBITMAP
- TBSAVEPARAMSW :: struct {
- hkr: HKEY,
- pszSubKey: LPCWSTR,
- pszValueName: LPCWSTR,
- }
- TBINSERTMARK :: struct {
- iButton: c_int,
- dwFlags: DWORD,
- }
- LPTBINSERTMARK :: ^TBINSERTMARK
- TBREPLACEBITMAP :: struct {
- hInstOld: HINSTANCE,
- nIDOld: UINT_PTR,
- hInstNew: HINSTANCE,
- nIDNew: UINT_PTR,
- nButtons: c_int,
- }
- LPTBREPLACEBITMAP :: ^TBREPLACEBITMAP
- TBBUTTONINFOW :: struct {
- cbSize: UINT,
- dwMask: DWORD,
- idCommand: c_int,
- iImage: c_int,
- fsState: BYTE,
- fsStyle: BYTE,
- cx: WORD,
- lParam: DWORD_PTR,
- pszText: LPWSTR,
- cchText: c_int,
- }
- LPTBBUTTONINFOW :: ^TBBUTTONINFOW
- TBMETRICS :: struct {
- cbSize: UINT,
- dwMask: DWORD,
- cxPad: c_int,
- cyPad: c_int,
- cxBarPad: c_int,
- cyBarPad: c_int,
- cxButtonSpacing: c_int,
- cyButtonSpacing: c_int,
- }
- LPTBMETRICS :: ^TBMETRICS
- NMTTCUSTOMDRAW :: struct {
- nmcd: NMCUSTOMDRAW,
- uDrawFlags: UINT,
- }
- LPNMTTCUSTOMDRAW :: ^NMTTCUSTOMDRAW
- @(default_calling_convention="system")
- foreign Comctl32 {
- CreateToolbarEx :: proc(hwnd: HWND, ws: DWORD, wID: UINT, nBitmaps: c_int, hBMInst: HINSTANCE, wBMID: UINT_PTR, lpButtons: LPCTBBUTTON, iNumButtons: c_int, dxButton,dyButton: c_int, dxBitmap,dyBitmap: c_int, uStructSize: UINT) -> HWND ---
- CreateMappedBitmap :: proc(hInstance: HINSTANCE, idBitmap: INT_PTR, wFlags: UINT, lpColorMap: LPCOLORMAP, iNumMaps: c_int) -> HBITMAP ---
- }
- // Button Control
- BUTTON_IMAGELIST_ALIGN_LEFT :: 0
- BUTTON_IMAGELIST_ALIGN_RIGHT :: 1
- BUTTON_IMAGELIST_ALIGN_TOP :: 2
- BUTTON_IMAGELIST_ALIGN_BOTTOM :: 3
- BUTTON_IMAGELIST_ALIGN_CENTER :: 4
- BCSIF_GLYPH :: 0x0001
- BCSIF_IMAGE :: 0x0002
- BCSIF_STYLE :: 0x0004
- BCSIF_SIZE :: 0x0008
- BCSS_NOSPLIT :: 0x0001
- BCSS_STRETCH :: 0x0002
- BCSS_ALIGNLEFT :: 0x0004
- BCSS_IMAGE :: 0x0008
- BUTTON_IMAGELIST :: struct {
- himl: HIMAGELIST,
- margin: RECT,
- uAlign: UINT,
- }
- PBUTTON_IMAGELIST :: ^BUTTON_IMAGELIST
- BUTTON_SPLITINFO :: struct {
- mask: UINT,
- himlGlyph: HIMAGELIST,
- uSplitStyle: UINT,
- size: SIZE,
- }
- PBUTTON_SPLITINFO :: ^BUTTON_SPLITINFO
- NMBCHOTITEM :: struct {
- hdr: NMHDR,
- dwFlags: DWORD,
- }
- LPNMBCHOTITEM :: ^NMBCHOTITEM
- NMBCDROPDOWN :: struct {
- hdr: NMHDR,
- rcButton: RECT,
- }
- LPNMBCDROPDOWN :: ^NMBCDROPDOWN
- // BCM_SETIMAGELIST value
- BCCL_NOGLYPH :: cast(HIMAGELIST)(~uintptr(0))
- Button_GetIdealSize :: #force_inline proc "system" (hwnd: HWND, psize: ^SIZE) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, BCM_GETIDEALSIZE, 0, cast(LPARAM)uintptr(psize))
- }
- Button_SetImageList :: #force_inline proc "system" (hwnd: HWND, pbuttonImagelist: PBUTTON_IMAGELIST) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, BCM_SETIMAGELIST, 0, cast(LPARAM)uintptr(pbuttonImagelist))
- }
- Button_GetImageList :: #force_inline proc "system" (hwnd: HWND, pbuttonImagelist: PBUTTON_IMAGELIST) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, BCM_GETIMAGELIST, 0, cast(LPARAM)uintptr(pbuttonImagelist))
- }
- Button_SetTextMargin :: #force_inline proc "system" (hwnd: HWND, pmargin: ^RECT) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, BCM_SETTEXTMARGIN, 0, cast(LPARAM)uintptr(pmargin))
- }
- Button_GetTextMargin :: #force_inline proc "system" (hwnd: HWND, pmargin: ^RECT) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, BCM_GETTEXTMARGIN, 0, cast(LPARAM)uintptr(pmargin))
- }
- Button_SetNote :: #force_inline proc "system" (hwnd: HWND, psz: LPCWSTR) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, BCM_SETNOTE, 0, cast(LPARAM)uintptr(rawptr(psz)))
- }
- Button_GetNote :: #force_inline proc "system" (hwnd: HWND, psz: LPCWSTR, pcc: ^c_int) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, BCM_GETNOTE, uintptr(pcc), cast(LPARAM)uintptr(rawptr(psz)))
- }
- Button_GetNoteLength :: #force_inline proc "system" (hwnd: HWND) -> LRESULT {
- return SendMessageW(hwnd, BCM_GETNOTELENGTH, 0, 0)
- }
- Button_SetElevationRequiredState :: #force_inline proc "system" (hwnd: HWND, fRequired: BOOL) -> LRESULT {
- return SendMessageW(hwnd, BCM_SETSHIELD, 0, cast(LPARAM)fRequired)
- }
- Button_SetDropDownState :: #force_inline proc "system" (hwnd: HWND, fDropDown: BOOL) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, BCM_SETDROPDOWNSTATE, cast(WPARAM)fDropDown, 0)
- }
- Button_SetSplitInfo :: #force_inline proc "system" (hwnd: HWND, psi: ^BUTTON_SPLITINFO) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, BCM_SETSPLITINFO, 0, cast(LPARAM)uintptr(psi))
- }
- Button_GetSplitInfo :: #force_inline proc "system" (hwnd: HWND, psi: ^BUTTON_SPLITINFO) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, BCM_GETSPLITINFO, 0, cast(LPARAM)uintptr(psi))
- }
- // Edit Control
- EDITBALLOONTIP :: struct {
- cbStruct: DWORD,
- pszTitle: LPCWSTR,
- pszText: LPCWSTR,
- ttiIcon: INT,
- }
- PEDITBALLOONTIP :: ^EDITBALLOONTIP
- Edit_SetCueBannerText :: #force_inline proc "system" (hwnd: HWND, lpcwText: LPCWSTR) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, EM_SETCUEBANNER, 0, cast(LPARAM)uintptr(rawptr(lpcwText)))
- }
- Edit_SetCueBannerTextFocused :: #force_inline proc "system" (hwnd: HWND, lpcwText: LPCWSTR, fDrawFocused: BOOL) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, EM_SETCUEBANNER, cast(WPARAM)fDrawFocused, cast(LPARAM)uintptr(rawptr(lpcwText)))
- }
- Edit_GetCueBannerText :: #force_inline proc "system" (hwnd: HWND, lpwText: LPWSTR, cchText: LONG) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, EM_GETCUEBANNER, uintptr(lpwText), cast(LPARAM)cchText)
- }
- Edit_ShowBalloonTip :: #force_inline proc "system" (hwnd: HWND, peditballoontip: PEDITBALLOONTIP) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, EM_SHOWBALLOONTIP, 0, cast(LPARAM)uintptr(peditballoontip))
- }
- Edit_HideBalloonTip :: #force_inline proc "system" (hwnd: HWND) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, EM_HIDEBALLOONTIP, 0, 0)
- }
- Edit_SetHilite :: #force_inline proc "system" (hwndCtl: HWND, ichStart: c_int, ichEnd: c_int) {
- SendMessageW(hwndCtl, EM_SETHILITE, cast(WPARAM)ichStart, cast(LPARAM)ichEnd)
- }
- Edit_GetHilite :: #force_inline proc "system" (hwndCtl: HWND) -> DWORD {
- return cast(DWORD)SendMessageW(hwndCtl, EM_GETHILITE, 0, 0)
- }
- Edit_NoSetFocus :: #force_inline proc "system" (hwndCtl: HWND) {
- SendMessageW(hwndCtl, EM_NOSETFOCUS, 0, 0)
- }
- Edit_TakeFocus :: #force_inline proc "system" (hwndCtl: HWND) {
- SendMessageW(hwndCtl, EM_TAKEFOCUS, 0, 0)
- }
- // Up Down Control
- @(default_calling_convention="system")
- foreign Comctl32 {
- CreateUpDownControl :: proc(dwStyle: DWORD, x,y: c_int, cx,cy: c_int, hParent: HWND, nID: c_int, hInst: HINSTANCE, hBuddy: HWND, nUpper,nLower,nPos: c_int) -> HWND ---
- }
- // Progress Bar Control
- PBRANGE :: struct {
- iLow: c_int,
- iHigh: c_int,
- }
- PPBRANGE :: ^PBRANGE
- // Hot Key Control
- HOTKEYF_SHIFT :: 0x1
- HOTKEYF_CONTROL :: 0x2
- HOTKEYF_ALT :: 0x4
- HOTKEYF_EXT :: 0x8
- HKCOMB_NONE :: 0x01
- HKCOMB_S :: 0x02
- HKCOMB_C :: 0x04
- HKCOMB_A :: 0x08
- HKCOMB_SC :: 0x10
- HKCOMB_SA :: 0x20
- HKCOMB_CA :: 0x40
- HKCOMB_SCA :: 0x80
- // List View Control
- LVSIL_NORMAL :: 0
- LVSIL_SMALL :: 1
- LVSIL_STATE :: 2
- LVIF_TEXT :: 0x001
- LVIF_IMAGE :: 0x002
- LVIF_PARAM :: 0x004
- LVIF_STATE :: 0x008
- LVIF_INDENT :: 0x010
- LVIF_GROUPID :: 0x100
- LVIF_COLUMNS :: 0x200
- LVIF_NORECOMPUTE :: 0x800
- LVIS_FOCUSED :: 0x01
- LVIS_SELECTED :: 0x02
- LVIS_CUT :: 0x04
- LVIS_DROPHILITED :: 0x08
- LVIS_GLOW :: 0x10
- LVIS_ACTIVATING :: 0x20
- LVIS_OVERLAYMASK :: 0x0F00
- LVIS_STATEIMAGEMASK :: 0xF000
- LVNI_ALL :: 0x000
- LVNI_FOCUSED :: 0x001
- LVNI_SELECTED :: 0x002
- LVNI_CUT :: 0x004
- LVNI_DROPHILITED :: 0x008
- LVNI_ABOVE :: 0x100
- LVNI_BELOW :: 0x200
- LVNI_TOLEFT :: 0x400
- LVNI_TORIGHT :: 0x800
- LVFI_PARAM :: 0x01
- LVFI_STRING :: 0x02
- LVFI_PARTIAL :: 0x08
- LVFI_WRAP :: 0x20
- LVFI_NEARESTXY :: 0x40
- I_INDENTCALLBACK :: -1
- I_GROUPIDCALLBACK :: -1
- I_GROUPIDNONE :: -2
- LPSTR_TEXTCALLBACKW :: cast(LPWSTR)~uintptr(0)
- I_IMAGECALLBACK :: -1
- I_IMAGENONE :: -2
- I_COLUMNSCALLBACK :: ~UINT(0)
- LVIR_BOUNDS :: 0
- LVIR_ICON :: 1
- LVIR_LABEL :: 2
- LVIR_SELECTBOUNDS :: 3
- LVHT_NOWHERE :: 0x1
- LVHT_ONITEMICON :: 0x2
- LVHT_ONITEMLABEL :: 0x4
- LVHT_ONITEMSTATEICON :: 0x8
- LVHT_ONITEM :: LVHT_ONITEMICON | LVHT_ONITEMLABEL | LVHT_ONITEMSTATEICON
- LVHT_ABOVE :: 0x08
- LVHT_BELOW :: 0x10
- LVHT_TORIGHT :: 0x20
- LVHT_TOLEFT :: 0x40
- LVA_DEFAULT :: 0x0
- LVA_ALIGNLEFT :: 0x1
- LVA_ALIGNTOP :: 0x2
- LVA_SNAPTOGRID :: 0x5
- LVCF_FMT :: 0x001
- LVCF_WIDTH :: 0x002
- LVCF_TEXT :: 0x004
- LVCF_SUBITEM :: 0x008
- LVCF_IMAGE :: 0x010
- LVCF_ORDER :: 0x020
- LVCF_MINWIDTH :: 0x040
- LVCF_DEFAULTWIDTH :: 0x080
- LVCF_IDEALWIDTH :: 0x100
- LVCFMT_LEFT :: 0x0000000
- LVCFMT_RIGHT :: 0x0000001
- LVCFMT_CENTER :: 0x0000002
- LVCFMT_FIXED_WIDTH :: 0x0000100
- LVCFMT_IMAGE :: 0x0000800
- LVCFMT_BITMAP_ON_RIGHT :: 0x0001000
- LVCFMT_COL_HAS_IMAGES :: 0x0008000
- LVCFMT_NO_DPI_SCALE :: 0x0040000
- LVCFMT_FIXED_RATIO :: 0x0080000
- LVCFMT_LINE_BREAK :: 0x0100000
- LVCFMT_FILL :: 0x0200000
- LVCFMT_WRAP :: 0x0400000
- LVCFMT_NO_TITLE :: 0x0800000
- LVCFMT_SPLITBUTTON :: 0x1000000
- LVCFMT_JUSTIFYMASK :: 0x3
- LVCFMT_TILE_PLACEMENTMASK :: (LVCFMT_LINE_BREAK|LVCFMT_FILL)
- LVSCW_AUTOSIZE :: -1
- LVSCW_AUTOSIZE_USEHEADER :: -2
- LVSICF_NOINVALIDATEALL :: 0x1
- LVSICF_NOSCROLL :: 0x2
- LVS_EX_GRIDLINES :: 0x00000001
- LVS_EX_SUBITEMIMAGES :: 0x00000002
- LVS_EX_CHECKBOXES :: 0x00000004
- LVS_EX_TRACKSELECT :: 0x00000008
- LVS_EX_HEADERDRAGDROP :: 0x00000010
- LVS_EX_FULLROWSELECT :: 0x00000020
- LVS_EX_ONECLICKACTIVATE :: 0x00000040
- LVS_EX_TWOCLICKACTIVATE :: 0x00000080
- LVS_EX_FLATSB :: 0x00000100
- LVS_EX_REGIONAL :: 0x00000200
- LVS_EX_INFOTIP :: 0x00000400
- LVS_EX_UNDERLINEHOT :: 0x00000800
- LVS_EX_UNDERLINECOLD :: 0x00001000
- LVS_EX_MULTIWORKAREAS :: 0x00002000
- LVS_EX_LABELTIP :: 0x00004000
- LVS_EX_BORDERSELECT :: 0x00008000
- LVS_EX_DOUBLEBUFFER :: 0x00010000
- LVS_EX_HIDELABELS :: 0x00020000
- LVS_EX_SINGLEROW :: 0x00040000
- LVS_EX_SNAPTOGRID :: 0x00080000
- LVS_EX_SIMPLESELECT :: 0x00100000
- LVS_EX_JUSTIFYCOLUMNS :: 0x00200000
- LVS_EX_TRANSPARENTBKGND :: 0x00400000
- LVS_EX_TRANSPARENTSHADOWTEXT :: 0x00800000
- LVS_EX_AUTOAUTOARRANGE :: 0x01000000
- LVS_EX_HEADERINALLVIEWS :: 0x02000000
- LVS_EX_AUTOCHECKSELECT :: 0x08000000
- LVS_EX_AUTOSIZECOLUMNS :: 0x10000000
- LVS_EX_COLUMNSNAPPOINTS :: 0x40000000
- LVS_EX_COLUMNOVERFLOW :: 0x80000000
- LV_MAX_WORKAREAS :: 16
- LVBKIF_SOURCE_NONE :: 0x0
- LVBKIF_SOURCE_HBITMAP :: 0x1
- LVBKIF_SOURCE_URL :: 0x2
- LVBKIF_SOURCE_MASK :: 0x3
- LVBKIF_STYLE_NORMAL :: 0x00
- LVBKIF_STYLE_TILE :: 0x10
- LVBKIF_STYLE_MASK :: 0x10
- LVBKIF_FLAG_TILEOFFSET :: 0x100
- LVBKIF_TYPE_WATERMARK :: 0x10000000
- LV_VIEW_ICON :: 0x0
- LV_VIEW_DETAILS :: 0x1
- LV_VIEW_SMALLICON :: 0x2
- LV_VIEW_LIST :: 0x3
- LV_VIEW_TILE :: 0x4
- LV_VIEW_MAX :: 0x4
- LVGF_NONE :: 0x00
- LVGF_HEADER :: 0x01
- LVGF_FOOTER :: 0x02
- LVGF_STATE :: 0x04
- LVGF_ALIGN :: 0x08
- LVGF_GROUPID :: 0x10
- LVGS_NORMAL :: 0x0
- LVGS_COLLAPSED :: 0x1
- LVGS_HIDDEN :: 0x2
- LVGA_HEADER_LEFT :: 0x1
- LVGA_HEADER_CENTER :: 0x2
- LVGA_HEADER_RIGHT :: 0x4
- LVGA_FOOTER_LEFT :: 0x8
- LVGA_FOOTER_CENTER :: 0x10
- LVGA_FOOTER_RIGHT :: 0x20
- LVGMF_NONE :: 0x0
- LVGMF_BORDERSIZE :: 0x1
- LVGMF_BORDERCOLOR :: 0x2
- LVGMF_TEXTCOLOR :: 0x4
- LVTVIF_AUTOSIZE :: 0x0
- LVTVIF_FIXEDWIDTH :: 0x1
- LVTVIF_FIXEDHEIGHT :: 0x2
- LVTVIF_FIXEDSIZE :: 0x3
- LVTVIM_TILESIZE :: 0x1
- LVTVIM_COLUMNS :: 0x2
- LVTVIM_LABELMARGIN :: 0x4
- LVIM_AFTER :: 0x1
- LVKF_ALT :: 0x1
- LVKF_CONTROL :: 0x2
- LVKF_SHIFT :: 0x4
- LVCDI_ITEM :: 0x0
- LVCDI_GROUP :: 0x1
- LVCDRF_NOSELECT :: 0x10000
- LVCDRF_NOGROUPFRAME :: 0x20000
- LVN_ITEMCHANGING :: (LVN_FIRST-0)
- LVN_ITEMCHANGED :: (LVN_FIRST-1)
- LVN_INSERTITEM :: (LVN_FIRST-2)
- LVN_DELETEITEM :: (LVN_FIRST-3)
- LVN_DELETEALLITEMS :: (LVN_FIRST-4)
- LVN_BEGINLABELEDITA :: (LVN_FIRST-5)
- LVN_BEGINLABELEDITW :: (LVN_FIRST-75)
- LVN_ENDLABELEDITA :: (LVN_FIRST-6)
- LVN_ENDLABELEDITW :: (LVN_FIRST-76)
- LVN_COLUMNCLICK :: (LVN_FIRST-8)
- LVN_BEGINDRAG :: (LVN_FIRST-9)
- LVN_BEGINRDRAG :: (LVN_FIRST-11)
- LVN_ODCACHEHINT :: (LVN_FIRST-13)
- LVN_ODFINDITEMA :: (LVN_FIRST-52)
- LVN_ODFINDITEMW :: (LVN_FIRST-79)
- LVN_ITEMACTIVATE :: (LVN_FIRST-14)
- LVN_ODSTATECHANGED :: (LVN_FIRST-15)
- LVN_HOTTRACK :: (LVN_FIRST-21)
- LVN_GETDISPINFOA :: (LVN_FIRST-50)
- LVN_GETDISPINFOW :: (LVN_FIRST-77)
- LVN_SETDISPINFOA :: (LVN_FIRST-51)
- LVN_SETDISPINFOW :: (LVN_FIRST-78)
- LVN_KEYDOWN :: (LVN_FIRST-55)
- LVN_MARQUEEBEGIN :: (LVN_FIRST-56)
- LVN_GETINFOTIPA :: (LVN_FIRST-57)
- LVN_GETINFOTIPW :: (LVN_FIRST-58)
- LVN_BEGINSCROLL :: (LVN_FIRST-80)
- LVN_ENDSCROLL :: (LVN_FIRST-81)
- LVIF_DI_SETITEM :: 0x1000
- LVGIT_UNFOLDED :: 0x1
- LVITEMW :: struct {
- mask: UINT,
- iItem: c_int,
- iSubItem: c_int,
- state: UINT,
- stateMask: UINT,
- pszText: LPWSTR,
- cchTextMax: c_int,
- iImage: c_int,
- lParam: LPARAM,
- iIndent: c_int,
- iGroupId: c_int,
- cColumns: UINT,
- puColumns: PUINT,
- }
- LV_ITEMW :: LVITEMW
- LPLVITEMW :: ^LVITEMW
- LPLV_ITEMW :: LPLVITEMW
- LVFINDINFOW :: struct {
- flags: UINT,
- psz: LPCWSTR,
- lParam: LPARAM,
- pt: POINT,
- vkDirection: UINT,
- }
- LPFINDINFOW :: ^LVFINDINFOW
- LV_FINDINFOW :: LVFINDINFOW
- LVHITTESTINFO :: struct {
- pt: POINT,
- flags: UINT,
- iItem: c_int,
- iSubItem: c_int,
- }
- LV_HITTESTINFO :: LVHITTESTINFO
- LPLVHITTESTINFO :: ^LVHITTESTINFO
- LPLV_HITTESTINFO :: LPLVHITTESTINFO
- LVCOLUMNW :: struct {
- mask: UINT,
- fmt: c_int,
- cx: c_int,
- pszText: LPWSTR,
- cchTextMax: c_int,
- iSubItem: c_int,
- iImage: c_int,
- iOrder: c_int,
- cxMin: c_int,
- cxDefault: c_int,
- cxIdeal: c_int,
- }
- LV_COLUMNW :: LVCOLUMNW
- LPLVCOLUMNW :: ^LVCOLUMNW
- LPLV_COLUMNW :: LPLVCOLUMNW
- LVBKIMAGEW :: struct {
- ulFlags: ULONG,
- hbm: HBITMAP,
- pszImage: LPWSTR,
- cchImageMax: UINT,
- xOffsetPercent: c_int,
- yOffsetPercent: c_int,
- }
- LV_BKIMAGEW :: LVBKIMAGEW
- LPLVBKIMAGEW :: ^LVBKIMAGEW
- LPLV_BKIMAGEW :: LPLVBKIMAGEW
- LVGROUP :: struct {
- cbSize: UINT,
- mask: UINT,
- pszHeader: LPWSTR,
- cchHeader: c_int,
- pszFooter: LPWSTR,
- cchFooter: c_int,
- iGroupId: c_int,
- stateMask: UINT,
- state: UINT,
- uAlign: UINT,
- }
- PLVGROUP :: ^LVGROUP
- LVGROUPMETRICS :: struct {
- cbSize: UINT,
- mask: UINT,
- Left: UINT,
- Top: UINT,
- Right: UINT,
- Bottom: UINT,
- crLeft: COLORREF,
- crTop: COLORREF,
- crRight: COLORREF,
- crBottom: COLORREF,
- crHeader: COLORREF,
- crFooter: COLORREF,
- }
- PLVGROUPMETRICS :: ^LVGROUPMETRICS
- LVINSERTGROUPSORTED :: struct {
- pfnGroupCompare: PFNLVGROUPCOMPARE,
- pvData: rawptr,
- lvGroup: LVGROUP,
- }
- PLVINSERTGROUPSORTED :: ^LVINSERTGROUPSORTED
- LVTILEVIEWINFO :: struct {
- cbSize: UINT,
- dwMask: DWORD,
- dwFlags: DWORD,
- sizeTile: SIZE,
- cLines: c_int,
- rcLabelMargin: RECT,
- }
- PLVTILEVIEWINFO :: ^LVTILEVIEWINFO
- LVTILEINFO :: struct {
- cbSize: UINT,
- iItem: c_int,
- cColumns: UINT,
- puColumns: PUINT,
- }
- PLVTILEINFO :: ^LVTILEINFO
- LVINSERTMARK :: struct {
- cbSize: UINT,
- dwFlags: DWORD,
- iItem: c_int,
- dwReserved: DWORD,
- }
- LPLVINSERTMARK :: ^LVINSERTMARK
- LVSETINFOTIP :: struct {
- cbSize: UINT,
- dwFlags: DWORD,
- pszText: LPWSTR,
- iItem: c_int,
- iSubItem: c_int,
- }
- PLVSETINFOTIP :: ^LVSETINFOTIP
- NMLISTVIEW :: struct {
- hdr: NMHDR,
- iItem: c_int,
- iSubItem: c_int,
- uNewState: UINT,
- uOldState: UINT,
- uChanged: UINT,
- ptAction: POINT,
- lParam: LPARAM,
- }
- NM_LISTVIEW :: NMLISTVIEW
- LPNMLISTVIEW :: ^NMLISTVIEW
- LPNM_LISTVIEW :: LPNMLISTVIEW
- NMITEMACTIVATE :: struct {
- hdr: NMHDR,
- iItem: c_int,
- iSubItem: c_int,
- uNewState: UINT,
- uOldState: UINT,
- uChanged: UINT,
- ptAction: POINT,
- lParam: LPARAM,
- uKeyFlags: UINT,
- }
- NM_ITEMACTIVATE :: NMITEMACTIVATE
- LPNMITEMACTIVATE :: ^NMITEMACTIVATE
- LPNM_ITEMACTIVATE :: LPNMITEMACTIVATE
- NMLVCUSTOMDRAW :: struct {
- nmcd: NMCUSTOMDRAW,
- clrText: COLORREF,
- clrTextBk: COLORREF,
- iSubItem: c_int,
- dwItemType: DWORD,
- clrFace: COLORREF,
- iIconEffect: c_int,
- iIconPhase: c_int,
- iPartId: c_int,
- iStateId: c_int,
- rcText: RECT,
- uAlign: UINT,
- }
- NMLV_CUSTOMDRAW :: NMLVCUSTOMDRAW
- LPNMLVCUSTOMDRAW :: ^NMLVCUSTOMDRAW
- LPNMLV_CUSTOMDRAW :: LPNMLVCUSTOMDRAW
- NMLVCACHEHINT :: struct {
- hdr: NMHDR,
- iFrom: c_int,
- iTo: c_int,
- }
- LPNMLVCACHEHINT :: ^NMLVCACHEHINT
- NM_CACHEHINT :: NMLVCACHEHINT
- PNM_CACHEHINT :: LPNMLVCACHEHINT
- LPNM_CACHEHINT :: LPNMLVCACHEHINT
- NMLVFINDITEMW :: struct {
- hdr: NMHDR,
- iStart: c_int,
- lvfi: LVFINDINFOW,
- }
- LPNMLVFINDITEMW :: ^NMLVFINDITEMW
- NM_FINDITEMW :: NMLVFINDITEMW
- PNM_FINDITEMW :: LPNMLVFINDITEMW
- LPNM_FINDITEMW :: LPNMLVFINDITEMW
- NMLVODSTATECHANGE :: struct {
- hdr: NMHDR,
- iFrom: c_int,
- iTo: c_int,
- uNewState: UINT,
- uOldState: UINT,
- }
- LPNMLVODSTATECHANGE :: ^NMLVODSTATECHANGE
- NM_ODSTATECHANGE :: NMLVODSTATECHANGE
- PNM_ODSTATECHANGE :: NMLVODSTATECHANGE
- LPNM_ODSTATECHANGE :: LPNMLVODSTATECHANGE
- LVDISPINFOW :: struct {
- hdr: NMHDR,
- item: LVITEMW,
- }
- LV_DISPINFO :: LVDISPINFOW
- LPNMLVDISPINFOW :: ^LVDISPINFOW
- NMLVKEYDOWN :: struct #packed {
- hdr: NMHDR,
- wVKey: WORD,
- flags: UINT,
- }
- LV_KEYDOWN :: NMLVKEYDOWN
- LPNMLVKEYDOWN :: ^NMLVKEYDOWN
- NMLVGETINFOTIPW :: struct {
- hdr: NMHDR,
- dwFlags: DWORD,
- pszText: LPWSTR,
- cchTextMax: c_int,
- iItem: c_int,
- iSubItem: c_int,
- lParam: LPARAM,
- }
- LPNMLVGETINFOTIPW :: ^NMLVGETINFOTIPW
- NMLVSCROLL :: struct {
- hdr: NMHDR,
- dx: c_int,
- dy: c_int,
- }
- LPNMLVSCROLL :: ^NMLVSCROLL
- PFNLVCOMPARE :: #type proc "system" (lpItem1,lpItem2: LPARAM, lpUser: LPARAM) -> c_int
- PFNLVGROUPCOMPARE :: #type proc "system" (item1,item2: c_int, user: rawptr) -> c_int
- INDEXTOSTATEIMAGEMASK :: #force_inline proc "system" (i: UINT) -> UINT {
- return i << 12
- }
- ListView_GetItem :: #force_inline proc "system" (hwnd: HWND, pitem: ^LV_ITEMW) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_GETITEMW, 0, cast(LPARAM)uintptr(pitem))
- }
- ListView_SetItem :: #force_inline proc "system" (hwnd: HWND, pitem: ^LV_ITEMW) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_SETITEMW, 0, cast(LPARAM)uintptr(pitem))
- }
- ListView_InsertItem :: #force_inline proc "system" (hwnd: HWND, pitem: ^LV_ITEMW) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_INSERTITEMW, 0, cast(LPARAM)uintptr(pitem))
- }
- ListView_DeleteItem :: #force_inline proc "system" (hwnd: HWND, i: c_int) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_DELETEITEM, cast(WPARAM)i, 0)
- }
- ListView_DeleteAllItems :: #force_inline proc "system" (hwnd: HWND) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_DELETEALLITEMS, 0, 0)
- }
- ListView_GetCallbackMask :: #force_inline proc "system" (hwnd: HWND) -> UINT {
- return cast(UINT)SendMessageW(hwnd, LVM_GETCALLBACKMASK, 0, 0)
- }
- ListView_SetCallbackMask :: #force_inline proc "system" (hwnd: HWND, mask: UINT) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_SETCALLBACKMASK, cast(WPARAM)mask, 0)
- }
- ListView_GetNextItem :: #force_inline proc "system" (hwnd: HWND, i: c_int, flags: UINT) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_GETNEXTITEM, cast(WPARAM)i, MAKELPARAM(flags,0))
- }
- ListView_FindItem :: #force_inline proc "system" (hwnd: HWND, iStart: c_int, plvfi: ^LV_FINDINFOW) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_FINDITEMW, cast(WPARAM)iStart, cast(LPARAM)uintptr(plvfi))
- }
- ListView_GetItemRect :: #force_inline proc "system" (hwnd: HWND, i: c_int, prc: ^RECT, code: c_int) -> BOOL {
- if prc != nil {
- prc.left = code
- }
- return cast(BOOL)SendMessageW(hwnd, LVM_GETITEMRECT, cast(WPARAM)i, cast(LPARAM)uintptr(prc))
- }
- ListView_SetItemPosition :: #force_inline proc "system" (hwnd: HWND, i: c_int, x,y: c_int) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_SETITEMPOSITION, cast(WPARAM)i, MAKELPARAM(x,y))
- }
- ListView_GetItemPosition :: #force_inline proc "system" (hwnd: HWND, i: c_int, ppt: ^POINT) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_GETITEMPOSITION, cast(WPARAM)i, cast(LPARAM)uintptr(ppt))
- }
- ListView_GetStringWidth :: #force_inline proc "system" (hwndLV: HWND, psz: LPCWSTR) -> c_int {
- return cast(c_int)SendMessageW(hwndLV, LVM_GETSTRINGWIDTHW, 0, cast(LPARAM)uintptr(rawptr(psz)))
- }
- ListView_HitTest :: #force_inline proc "system" (hwndLV: HWND, pinfo: ^LV_HITTESTINFO) -> c_int {
- return cast(c_int)SendMessageW(hwndLV, LVM_HITTEST, 0, cast(LPARAM)uintptr(pinfo))
- }
- ListView_EnsureVisible :: #force_inline proc "system" (hwndLV: HWND, i: c_int, fPartialOK: BOOL) -> BOOL {
- return cast(BOOL)SendMessageW(hwndLV, LVM_ENSUREVISIBLE, cast(WPARAM)i, MAKELPARAM(fPartialOK,0))
- }
- ListView_Scroll :: #force_inline proc "system" (hwndLV: HWND, dx,dy: c_int) -> BOOL {
- return cast(BOOL)SendMessageW(hwndLV, LVM_SCROLL, cast(WPARAM)dx, cast(LPARAM)dy)
- }
- ListView_RedrawItems :: #force_inline proc "system" (hwndLV: HWND, iFirst,iLast: c_int) -> BOOL {
- return cast(BOOL)SendMessageW(hwndLV, LVM_REDRAWITEMS, cast(WPARAM)iFirst, cast(LPARAM)iLast)
- }
- ListView_Arrange :: #force_inline proc "system" (hwndLV: HWND, code: UINT) -> BOOL {
- return cast(BOOL)SendMessageW(hwndLV, LVM_ARRANGE, cast(WPARAM)code, 0)
- }
- ListView_EditLabel :: #force_inline proc "system" (hwndLV: HWND, i: c_int) -> HWND {
- return cast(HWND)uintptr(SendMessageW(hwndLV, LVM_EDITLABELW, cast(WPARAM)i, 0))
- }
- ListView_GetEditControl :: #force_inline proc "system" (hwndLV: HWND) -> HWND {
- return cast(HWND)uintptr(SendMessageW(hwndLV, LVM_GETEDITCONTROL, 0, 0))
- }
- ListView_GetColumn :: #force_inline proc "system" (hwnd: HWND, iCol: c_int, pcol: ^LV_COLUMNW) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_GETCOLUMNW, cast(WPARAM)iCol, cast(LPARAM)uintptr(pcol))
- }
- ListView_SetColumn :: #force_inline proc "system" (hwnd: HWND, iCol: c_int, pcol: ^LV_COLUMNW) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_SETCOLUMNW, cast(WPARAM)iCol, cast(LPARAM)uintptr(pcol))
- }
- ListView_InsertColumn :: #force_inline proc "system" (hwnd: HWND, iCol: c_int, pcol: ^LV_COLUMNW) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_INSERTCOLUMNW, cast(WPARAM)iCol, cast(LPARAM)uintptr(pcol))
- }
- ListView_DeleteColumn :: #force_inline proc "system" (hwnd: HWND, iCol: c_int) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_DELETECOLUMN, cast(WPARAM)iCol, 0)
- }
- ListView_GetColumnWidth :: #force_inline proc "system" (hwnd: HWND, iCol: c_int) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_GETCOLUMNWIDTH, cast(WPARAM)iCol, 0)
- }
- ListView_SetColumnWidth :: #force_inline proc "system" (hwnd: HWND, iCol: c_int, cx: c_int) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_SETCOLUMNWIDTH, cast(WPARAM)iCol, MAKELPARAM(cx,0))
- }
- ListView_GetHeader :: #force_inline proc "system" (hwnd: HWND) -> HWND {
- return cast(HWND)uintptr(SendMessageW(hwnd, LVM_GETHEADER, 0, 0))
- }
- ListView_CreateDragImage :: #force_inline proc "system" (hwnd: HWND, i: c_int, lpptUpLeft: LPPOINT) -> HIMAGELIST {
- return cast(HIMAGELIST)uintptr(SendMessageW(hwnd, LVM_CREATEDRAGIMAGE, cast(WPARAM)i, cast(LPARAM)uintptr(lpptUpLeft)))
- }
- ListView_GetViewRect :: #force_inline proc "system" (hwnd: HWND, prc: ^RECT) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_GETVIEWRECT, 0, cast(LPARAM)uintptr(prc))
- }
- ListView_GetTextColor :: #force_inline proc "system" (hwnd: HWND) -> COLORREF {
- return cast(COLORREF)SendMessageW(hwnd, LVM_GETTEXTCOLOR, 0, 0)
- }
- ListView_SetTextColor :: #force_inline proc "system" (hwnd: HWND, clrText: COLORREF) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_SETTEXTCOLOR, 0, cast(LPARAM)clrText)
- }
- ListView_GetTextBkColor :: #force_inline proc "system" (hwnd: HWND) -> COLORREF {
- return cast(COLORREF)SendMessageW(hwnd, LVM_GETTEXTBKCOLOR, 0, 0)
- }
- ListView_SetTextBkColor :: #force_inline proc "system" (hwnd: HWND, clrTextBk: COLORREF) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_SETTEXTBKCOLOR, 0, cast(LPARAM)clrTextBk)
- }
- ListView_GetTopIndex :: #force_inline proc "system" (hwndLV: HWND) -> c_int {
- return cast(c_int)SendMessageW(hwndLV, LVM_GETTOPINDEX, 0, 0)
- }
- ListView_GetCountPerPage :: #force_inline proc "system" (hwndLV: HWND) -> c_int {
- return cast(c_int)SendMessageW(hwndLV, LVM_GETCOUNTPERPAGE, 0, 0)
- }
- ListView_GetOrigin :: #force_inline proc "system" (hwndLV: HWND, ppt: ^POINT) -> BOOL {
- return cast(BOOL)SendMessageW(hwndLV, LVM_GETORIGIN, 0, cast(LPARAM)uintptr(ppt))
- }
- ListView_Update :: #force_inline proc "system" (hwndLV: HWND, i: c_int) -> BOOL {
- return cast(BOOL)SendMessageW(hwndLV, LVM_UPDATE, cast(WPARAM)i, 0)
- }
- ListView_SetItemState :: #force_inline proc "system" (hwndLV: HWND, i: c_int, data: UINT, mask: UINT) {
- item := LV_ITEMW {
- stateMask = mask,
- state = data,
- }
- SendMessageW(hwndLV, LVM_SETITEMSTATE, cast(WPARAM)i, cast(LPARAM)uintptr(&item))
- }
- ListView_SetCheckState :: #force_inline proc "system" (hwndLV: HWND, i: c_int, fCheck: BOOL) {
- ListView_SetItemState(hwndLV, i, INDEXTOSTATEIMAGEMASK(2 if fCheck else 1), LVIS_STATEIMAGEMASK)
- }
- ListView_GetItemState :: #force_inline proc "system" (hwndLV: HWND, i: c_int, mask: UINT) -> UINT {
- return cast(UINT)SendMessageW(hwndLV, LVM_GETITEMSTATE, cast(WPARAM)i, cast(LPARAM)mask)
- }
- ListView_GetCheckState :: #force_inline proc "system" (hwndLV: HWND, i: c_int) -> UINT {
- return ((cast(UINT)SendMessageW(hwndLV, LVM_GETITEMSTATE, cast(WPARAM)i, cast(LPARAM)LVIS_STATEIMAGEMASK)) >> 12) - 1
- }
- ListView_GetItemText :: #force_inline proc "system" (hwndLV: HWND, i: c_int, iSubItem: c_int, pszText: LPWSTR, cchTextMax: c_int) {
- item := LV_ITEMW {
- iSubItem = iSubItem,
- cchTextMax = cchTextMax,
- pszText = pszText,
- }
- SendMessageW(hwndLV, LVM_GETITEMTEXTW, cast(WPARAM)i, cast(LPARAM)uintptr(&item))
- }
- ListView_SetItemText :: #force_inline proc "system" (hwndLV: HWND, i: c_int, iSubItem: c_int, pszText: LPWSTR) {
- item := LV_ITEMW {
- iSubItem = iSubItem,
- pszText = pszText,
- }
- SendMessageW(hwndLV, LVM_SETITEMTEXTW, cast(WPARAM)i, cast(LPARAM)uintptr(&item))
- }
- ListView_SetItemCount :: #force_inline proc "system" (hwndLV: HWND, cItems: c_int) {
- SendMessageW(hwndLV, LVM_SETITEMCOUNT, cast(WPARAM)cItems, 0)
- }
- ListView_SetItemCountEx :: #force_inline proc "system" (hwndLV: HWND, cItems: c_int, dwFlags: DWORD) {
- SendMessageW(hwndLV, LVM_SETITEMCOUNT, cast(WPARAM)cItems, cast(LPARAM)dwFlags)
- }
- ListView_SortItems :: #force_inline proc "system" (hwndLV: HWND, pfnCompare: PFNLVCOMPARE, lpUser: LPARAM) -> BOOL {
- return cast(BOOL)SendMessageW(hwndLV, LVM_SORTITEMS, cast(WPARAM)lpUser, cast(LPARAM)transmute(uintptr)(pfnCompare))
- }
- ListView_SetItemPosition32 :: #force_inline proc "system" (hwndLV: HWND, i: c_int, x0,y0: c_int) {
- ptNewPos := POINT {
- x = x0,
- y = y0,
- }
- SendMessageW(hwndLV, LVM_SETITEMPOSITION32, cast(WPARAM)i, cast(LPARAM)uintptr(&ptNewPos))
- }
- ListView_GetSelectedCount :: #force_inline proc "system" (hwndLV: HWND) -> UINT {
- return cast(UINT)SendMessageW(hwndLV, LVM_GETSELECTEDCOUNT, 0, 0)
- }
- ListView_GetItemSpacing :: #force_inline proc "system" (hwndLV: HWND, fSmall: BOOL) -> DWORD {
- return cast(DWORD)SendMessageW(hwndLV, LVM_GETITEMSPACING, cast(WPARAM)fSmall, 0)
- }
- ListView_GetISearchString :: #force_inline proc "system" (hwndLV: HWND, lpsz: LPWSTR) -> BOOL {
- return cast(BOOL)SendMessageW(hwndLV, LVM_GETISEARCHSTRINGW, 0, cast(LPARAM)uintptr(lpsz))
- }
- ListView_SetIconSpacing :: #force_inline proc "system" (hwndLV: HWND, cx,cy: c_int) -> DWORD {
- return cast(DWORD)SendMessageW(hwndLV, LVM_SETICONSPACING, 0, cast(LPARAM)MAKELONG(cx,cy))
- }
- ListView_SetExtendedListViewStyle :: #force_inline proc "system" (hwndLV: HWND, dw: DWORD) -> DWORD {
- return cast(DWORD)SendMessageW(hwndLV, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, cast(LPARAM)dw)
- }
- ListView_SetExtendedListViewStyleEx :: #force_inline proc "system" (hwndLV: HWND, dwMask: DWORD, dw: DWORD) -> DWORD {
- return cast(DWORD)SendMessageW(hwndLV, LVM_SETEXTENDEDLISTVIEWSTYLE, cast(WPARAM)dwMask, cast(LPARAM)dw)
- }
- ListView_GetSubItemRect :: #force_inline proc "system" (hwnd: HWND, iItem: c_int, iSubItem: c_int, code: c_int, prc: LPRECT) -> BOOL {
- if prc != nil {
- prc.top = iSubItem
- prc.left = code
- }
- return cast(BOOL)SendMessageW(hwnd, LVM_GETSUBITEMRECT, cast(WPARAM)iItem, cast(LPARAM)uintptr(prc))
- }
- ListView_SubItemHitTest :: #force_inline proc "system" (hwnd: HWND, plvhti: LPLVHITTESTINFO) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_SUBITEMHITTEST, 0, cast(LPARAM)uintptr(plvhti))
- }
- ListView_SetColumnOrderArray :: #force_inline proc "system" (hwnd: HWND, iCount: c_int, pi: LPINT) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_SETCOLUMNORDERARRAY, cast(WPARAM)iCount, cast(LPARAM)uintptr(pi))
- }
- ListView_GetColumnOrderArray :: #force_inline proc "system" (hwnd: HWND, iCount: c_int, pi: LPINT) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_GETCOLUMNORDERARRAY, cast(WPARAM)iCount, cast(LPARAM)uintptr(pi))
- }
- ListView_SetHotItem :: #force_inline proc "system" (hwnd: HWND, i: c_int) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_SETHOTITEM, cast(WPARAM)i, 0)
- }
- ListView_GetHotItem :: #force_inline proc "system" (hwnd: HWND) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_GETHOTITEM, 0, 0)
- }
- ListView_SetHotCursor :: #force_inline proc "system" (hwnd: HWND, hcur: HCURSOR) -> HCURSOR {
- return cast(HCURSOR)uintptr(SendMessageW(hwnd, LVM_SETHOTCURSOR, 0, cast(LPARAM)uintptr(hcur)))
- }
- ListView_GetHotCursor :: #force_inline proc "system" (hwnd: HWND) -> HCURSOR {
- return cast(HCURSOR)uintptr(SendMessageW(hwnd, LVM_GETHOTCURSOR, 0, 0))
- }
- ListView_ApproximateViewRect :: #force_inline proc "system" (hwnd: HWND, iWidth,iHeight: c_int, iCount: c_int) -> DWORD {
- return cast(DWORD)SendMessageW(hwnd, LVM_APPROXIMATEVIEWRECT, cast(WPARAM)iCount, MAKELPARAM(iWidth,iHeight))
- }
- ListView_SetWorkAreas :: #force_inline proc "system" (hwnd: HWND, nWorkAreas: UINT, prc: ^RECT) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_SETWORKAREAS, cast(WPARAM)nWorkAreas, cast(LPARAM)uintptr(prc))
- }
- ListView_GetWorkAreas :: #force_inline proc "system" (hwnd: HWND, nWorkAreas: UINT, prc: ^RECT) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_GETWORKAREAS, cast(WPARAM)nWorkAreas, cast(LPARAM)uintptr(prc))
- }
- ListView_GetNumberOfWorkAreas :: #force_inline proc "system" (hwnd: HWND, pnWorkAreas: ^UINT) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_GETNUMBEROFWORKAREAS, 0, cast(LPARAM)uintptr(pnWorkAreas))
- }
- ListView_GetSelectionMark :: #force_inline proc "system" (hwnd: HWND) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_GETSELECTIONMARK, 0, 0)
- }
- ListView_SetSelectionMark :: #force_inline proc "system" (hwnd: HWND, i: c_int) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_SETSELECTIONMARK, 0, cast(LPARAM)i)
- }
- ListView_SetHoverTime :: #force_inline proc "system" (hwndLV: HWND, dwHoverTimeMs: DWORD) -> DWORD {
- return cast(DWORD)SendMessageW(hwndLV, LVM_SETHOVERTIME, 0, cast(LPARAM)dwHoverTimeMs)
- }
- ListView_GetHoverTime :: #force_inline proc "system" (hwndLV: HWND) -> DWORD {
- return cast(DWORD)SendMessageW(hwndLV, LVM_GETHOVERTIME, 0, 0)
- }
- ListView_SetToolTips :: #force_inline proc "system" (hwndLV: HWND, hwndNewHwnd: HWND) -> HWND {
- return cast(HWND)uintptr(SendMessageW(hwndLV, LVM_SETTOOLTIPS, cast(WPARAM)hwndNewHwnd, 0))
- }
- ListView_GetToolTips :: #force_inline proc "system" (hwndLV: HWND) -> HWND {
- return cast(HWND)uintptr(SendMessageW(hwndLV, LVM_GETTOOLTIPS, 0, 0))
- }
- ListView_SortItemsEx :: #force_inline proc "system" (hwndLV: HWND, pfnCompare: PFNLVCOMPARE, lpUser: LPARAM) -> BOOL {
- return cast(BOOL)SendMessageW(hwndLV, LVM_SORTITEMSEX, cast(WPARAM)lpUser, cast(LPARAM)transmute(uintptr)(pfnCompare))
- }
- ListView_SetSelectedColumn :: #force_inline proc "system" (hwnd: HWND, iCol: c_int) {
- SendMessageW(hwnd, LVM_SETSELECTEDCOLUMN, cast(WPARAM)iCol, 0)
- }
- ListView_SetView :: #force_inline proc "system" (hwnd: HWND, iView: DWORD) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_SETVIEW, cast(WPARAM)iView, 0)
- }
- ListView_GetView :: #force_inline proc "system" (hwnd: HWND) -> DWORD {
- return cast(DWORD)SendMessageW(hwnd, LVM_GETVIEW, 0, 0)
- }
- ListView_InsertGroup :: #force_inline proc "system" (hwnd: HWND, index: c_int, pgrp: PLVGROUP) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_INSERTGROUP, cast(WPARAM)index, cast(LPARAM)uintptr(pgrp))
- }
- ListView_SetGroupInfo :: #force_inline proc "system" (hwnd: HWND, iGroupId: c_int, pgrp: PLVGROUP) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_SETGROUPINFO, cast(WPARAM)iGroupId, cast(LPARAM)uintptr(pgrp))
- }
- ListView_GetGroupInfo :: #force_inline proc "system" (hwnd: HWND, iGroupId: c_int, pgrp: PLVGROUP) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_GETGROUPINFO, cast(WPARAM)iGroupId, cast(LPARAM)uintptr(pgrp))
- }
- ListView_RemoveGroup :: #force_inline proc "system" (hwnd: HWND, iGroupId: c_int) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_REMOVEGROUP, cast(WPARAM)iGroupId, 0)
- }
- ListView_MoveGroup :: #force_inline proc "system" (hwnd: HWND, iGroupId: c_int, toIndex: c_int) {
- SendMessageW(hwnd, LVM_MOVEGROUP, cast(WPARAM)iGroupId, cast(LPARAM)toIndex)
- }
- ListView_MoveItemToGroup :: #force_inline proc "system" (hwnd: HWND, idItemFrom: c_int, idGroupTo: c_int) {
- SendMessageW(hwnd, LVM_MOVEITEMTOGROUP, cast(WPARAM)idItemFrom, cast(LPARAM)idGroupTo)
- }
- ListView_SetGroupMetrics :: #force_inline proc "system" (hwnd: HWND, pGroupMetrics: PLVGROUPMETRICS) {
- SendMessageW(hwnd, LVM_SETGROUPMETRICS, 0, cast(LPARAM)uintptr(pGroupMetrics))
- }
- ListView_GetGroupMetrics :: #force_inline proc "system" (hwnd: HWND, pGroupMetrics: PLVGROUPMETRICS) {
- SendMessageW(hwnd, LVM_GETGROUPMETRICS, 0, cast(LPARAM)uintptr(pGroupMetrics))
- }
- ListView_EnableGroupView :: #force_inline proc "system" (hwnd: HWND, fEnable: BOOL) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_ENABLEGROUPVIEW, cast(WPARAM)fEnable, 0)
- }
- ListView_SortGroups :: #force_inline proc "system" (hwnd: HWND, pfnGroupCompare: PFNLVGROUPCOMPARE, pUser: rawptr) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_SORTGROUPS, transmute(uintptr)(pfnGroupCompare), cast(LPARAM)uintptr(pUser))
- }
- ListView_InsertGroupSorted :: #force_inline proc "system" (hwnd: HWND, structInsert: PLVINSERTGROUPSORTED) {
- SendMessageW(hwnd, LVM_INSERTGROUPSORTED, uintptr(structInsert), 0)
- }
- ListView_RemoveAllGroups :: #force_inline proc "system" (hwnd: HWND) {
- SendMessageW(hwnd, LVM_REMOVEALLGROUPS, 0, 0)
- }
- ListView_HasGroup :: #force_inline proc "system" (hwnd: HWND, dwGroupId: c_int) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_HASGROUP, cast(WPARAM)dwGroupId, 0)
- }
- ListView_SetTileViewInfo :: #force_inline proc "system" (hwnd: HWND, ptvi: PLVTILEVIEWINFO) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_SETTILEVIEWINFO, 0, cast(LPARAM)uintptr(ptvi))
- }
- ListView_GetTileViewInfo :: #force_inline proc "system" (hwnd: HWND, ptvi: PLVTILEVIEWINFO) {
- SendMessageW(hwnd, LVM_GETTILEVIEWINFO, 0, cast(LPARAM)uintptr(ptvi))
- }
- ListView_SetTileInfo :: #force_inline proc "system" (hwnd: HWND, pti: PLVTILEINFO) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_SETTILEINFO, 0, cast(LPARAM)uintptr(pti))
- }
- ListView_GetTileInfo :: #force_inline proc "system" (hwnd: HWND, pti: PLVTILEINFO) {
- SendMessageW(hwnd, LVM_GETTILEINFO, 0, cast(LPARAM)uintptr(pti))
- }
- ListView_SetInsertMark :: #force_inline proc "system" (hwnd: HWND, lvim: LPLVINSERTMARK) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_SETINSERTMARK, 0, cast(LPARAM)uintptr(lvim))
- }
- ListView_GetInsertMark :: #force_inline proc "system" (hwnd: HWND, lvim: LPLVINSERTMARK) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_GETINSERTMARK, 0, cast(LPARAM)uintptr(lvim))
- }
- ListView_InsertMarkHitTest :: #force_inline proc "system" (hwnd: HWND, point: LPPOINT, lvim: LPLVINSERTMARK) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_INSERTMARKHITTEST, uintptr(point), cast(LPARAM)uintptr(lvim))
- }
- ListView_GetInsertMarkRect :: #force_inline proc "system" (hwnd: HWND, rc: LPRECT) -> c_int {
- return cast(c_int)SendMessageW(hwnd, LVM_GETINSERTMARKRECT, 0, cast(LPARAM)uintptr(rc))
- }
- ListView_SetInsertMarkColor :: #force_inline proc "system" (hwnd: HWND, color: COLORREF) -> COLORREF {
- return cast(COLORREF)SendMessageW(hwnd, LVM_SETINSERTMARKCOLOR, 0, cast(LPARAM)color)
- }
- ListView_GetInsertMarkColor :: #force_inline proc "system" (hwnd: HWND) -> COLORREF {
- return cast(COLORREF)SendMessageW(hwnd, LVM_GETINSERTMARKCOLOR, 0, 0)
- }
- ListView_SetInfoTip :: #force_inline proc "system" (hwndLV: HWND, plvInfoTip: PLVSETINFOTIP) -> BOOL {
- return cast(BOOL)SendMessageW(hwndLV, LVM_SETINFOTIP, 0, cast(LPARAM)uintptr(plvInfoTip))
- }
- ListView_GetSelectedColumn :: #force_inline proc "system" (hwnd: HWND) -> UINT {
- return cast(UINT)SendMessageW(hwnd, LVM_GETSELECTEDCOLUMN, 0, 0)
- }
- ListView_IsGroupViewEnabled :: #force_inline proc "system" (hwnd: HWND) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_ISGROUPVIEWENABLED, 0, 0)
- }
- ListView_GetOutlineColor :: #force_inline proc "system" (hwnd: HWND) -> COLORREF {
- return cast(COLORREF)SendMessageW(hwnd, LVM_GETOUTLINECOLOR, 0, 0)
- }
- ListView_SetOutlineColor :: #force_inline proc "system" (hwnd: HWND, color: COLORREF) -> COLORREF {
- return cast(COLORREF)SendMessageW(hwnd, LVM_SETOUTLINECOLOR, 0, cast(LPARAM)color)
- }
- ListView_CancelEditLabel :: #force_inline proc "system" (hwnd: HWND) {
- SendMessageW(hwnd, LVM_CANCELEDITLABEL, 0, 0)
- }
- ListView_MapIndexToID :: #force_inline proc "system" (hwnd: HWND, index: UINT) -> UINT {
- return cast(UINT)SendMessageW(hwnd, LVM_MAPINDEXTOID, cast(WPARAM)index, 0)
- }
- ListView_MapIDToIndex :: #force_inline proc "system" (hwnd: HWND, id: UINT) -> UINT {
- return cast(UINT)SendMessageW(hwnd, LVM_MAPIDTOINDEX, cast(WPARAM)id, 0)
- }
- ListView_IsItemVisible :: #force_inline proc "system" (hwnd: HWND, index: UINT) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, LVM_ISITEMVISIBLE, cast(WPARAM)index, 0)
- }
- // Tree View Control
- HTREEITEM :: distinct rawptr
- TVIF_TEXT :: 0x01
- TVIF_IMAGE :: 0x02
- TVIF_PARAM :: 0x04
- TVIF_STATE :: 0x08
- TVIF_HANDLE :: 0x10
- TVIF_SELECTEDIMAGE :: 0x20
- TVIF_CHILDREN :: 0x40
- TVIF_INTEGRAL :: 0x80
- TVIS_SELECTED :: 0x02
- TVIS_CUT :: 0x04
- TVIS_DROPHILITED :: 0x08
- TVIS_BOLD :: 0x10
- TVIS_EXPANDED :: 0x20
- TVIS_EXPANDEDONCE :: 0x40
- TVIS_EXPANDPARTIAL :: 0x80
- TVIS_OVERLAYMASK :: 0x0F00
- TVIS_STATEIMAGEMASK :: 0xF000
- TVIS_USERMASK :: 0xF000
- I_CHILDRENCALLBACK :: (-1)
- TVI_ROOT :: cast(HTREEITEM)~uintptr(0x10000 - 1)
- TVI_FIRST :: cast(HTREEITEM)~uintptr(0x0FFFF - 1)
- TVI_LAST :: cast(HTREEITEM)~uintptr(0x0FFFE - 1)
- TVI_SORT :: cast(HTREEITEM)~uintptr(0x0FFFD - 1)
- TVN_SELCHANGINGA :: (TVN_FIRST-1)
- TVN_SELCHANGINGW :: (TVN_FIRST-50)
- TVN_SELCHANGEDA :: (TVN_FIRST-2)
- TVN_SELCHANGEDW :: (TVN_FIRST-51)
- TVN_GETDISPINFOA :: (TVN_FIRST-3)
- TVN_GETDISPINFOW :: (TVN_FIRST-52)
- TVN_SETDISPINFOA :: (TVN_FIRST-4)
- TVN_SETDISPINFOW :: (TVN_FIRST-53)
- TVN_ITEMEXPANDINGA :: (TVN_FIRST-5)
- TVN_ITEMEXPANDINGW :: (TVN_FIRST-54)
- TVN_ITEMEXPANDEDA :: (TVN_FIRST-6)
- TVN_ITEMEXPANDEDW :: (TVN_FIRST-55)
- TVN_BEGINDRAGA :: (TVN_FIRST-7)
- TVN_BEGINDRAGW :: (TVN_FIRST-56)
- TVN_BEGINRDRAGA :: (TVN_FIRST-8)
- TVN_BEGINRDRAGW :: (TVN_FIRST-57)
- TVN_DELETEITEMA :: (TVN_FIRST-9)
- TVN_DELETEITEMW :: (TVN_FIRST-58)
- TVN_BEGINLABELEDITA :: (TVN_FIRST-10)
- TVN_BEGINLABELEDITW :: (TVN_FIRST-59)
- TVN_ENDLABELEDITA :: (TVN_FIRST-11)
- TVN_ENDLABELEDITW :: (TVN_FIRST-60)
- TVN_KEYDOWN :: (TVN_FIRST-12)
- TVN_GETINFOTIPA :: (TVN_FIRST-13)
- TVN_GETINFOTIPW :: (TVN_FIRST-14)
- TVN_SINGLEEXPAND :: (TVN_FIRST-15)
- TVC_UNKNOWN :: 0x0
- TVC_BYMOUSE :: 0x1
- TVC_BYKEYBOARD :: 0x2
- TVIF_DI_SETITEM :: 0x1000
- TVNRET_DEFAULT :: 0
- TVNRET_SKIPOLD :: 1
- TVNRET_SKIPNEW :: 2
- TVCDRF_NOIMAGES :: 0x10000
- TVITEMW :: struct {
- mask: UINT,
- hItem: HTREEITEM,
- state: UINT,
- stateMask: UINT,
- pszText: LPWSTR,
- cchTextMax: c_int,
- iImage: c_int,
- iSelectedImage: c_int,
- cChildren: c_int,
- lParam: LPARAM,
- }
- TV_ITEMW :: TVITEMW
- LPTVITEMW :: ^TVITEMW
- LPTV_ITEMW :: LPTVITEMW
- TVITEMEXW :: struct {
- mask: UINT,
- hItem: HTREEITEM,
- state: UINT,
- stateMask: UINT,
- pszText: LPWSTR,
- cchTextMax: c_int,
- iImage: c_int,
- iSelectedImage: c_int,
- cChildren: c_int,
- lParam: LPARAM,
- iIntegral: c_int,
- }
- TV_ITEMEXW :: TVITEMEXW
- LPTVITEMEXW :: ^TVITEMEXW
- LPTV_ITEMEXW :: LPTVITEMEXW
- TVINSERTSTRUCTW :: struct {
- hParent: HTREEITEM,
- hInsertAfter: HTREEITEM,
- _: struct #raw_union {
- itemex: TVITEMEXW,
- item: TV_ITEMW,
- },
- }
- TV_INSERTSTRUCTW :: TVINSERTSTRUCTW
- LPTVINSERTSTRUCTW :: ^TVINSERTSTRUCTW
- LPTV_INSERTSTRUCTW :: LPTVINSERTSTRUCTW
- TVHITTESTINFO :: struct {
- pt: POINT,
- flags: UINT,
- hItem: HTREEITEM,
- }
- TV_HITTESTINFO :: TVHITTESTINFO
- LPTVHITTESTINFO :: ^TVHITTESTINFO
- LPTV_HITTESTINFO :: LPTVHITTESTINFO
- TVSORTCB :: struct {
- hParent: HTREEITEM,
- lpfnCompare: PFNTVCOMPARE,
- lParam: LPARAM,
- }
- TV_SORTCB :: TVSORTCB
- LPTVSORTCB :: ^TVSORTCB
- LPTV_SORTCB :: LPTVSORTCB
- NMTREEVIEWW :: struct {
- hdr: NMHDR,
- action: UINT,
- itemOld: TVITEMW,
- itemNew: TVITEMW,
- ptDrag: POINT,
- }
- NM_TREEVIEWW :: NMTREEVIEWW
- LPNMTREEVIEWW :: ^NMTREEVIEWW
- LPNM_TREEVIEWW :: LPNMTREEVIEWW
- NMTVDISPINFOW :: struct {
- hdr: NMHDR,
- item: TVITEMW,
- }
- TV_DISPINFOW :: NMTVDISPINFOW
- LPNMTVDISPINFOW :: ^NMTVDISPINFOW
- NMTVDISPINFOEXW :: struct {
- hdr: NMHDR,
- item: TVITEMEXW,
- }
- TV_DISPINFOEXW :: NMTVDISPINFOEXW
- LPNMTVDISPINFOEXW :: ^NMTVDISPINFOEXW
- NMTVKEYDOWN :: struct #packed {
- hdr: NMHDR,
- wVKey: WORD,
- flags: UINT,
- }
- TV_KEYDOWN :: NMTVKEYDOWN
- LPNMTVKEYDOWN :: ^NMTVKEYDOWN
- NMTVCUSTOMDRAW :: struct {
- nmcd: NMCUSTOMDRAW,
- clrText: COLORREF,
- clrTextBk: COLORREF,
- iLevel: c_int,
- }
- LPNMTVCUSTOMDRAW :: ^NMTVCUSTOMDRAW
- NMTVGETINFOTIPW :: struct {
- hdr: NMHDR,
- pszText: LPWSTR,
- cchTextMax: c_int,
- hItem: HTREEITEM,
- lParam: LPARAM,
- }
- TV_GETINFOTIPW :: NMTVGETINFOTIPW
- LPNMTVGETINFOTIPW :: ^NMTVGETINFOTIPW
- PFNTVCOMPARE :: #type proc "system" (lParam1,lParam2: LPARAM, lParamSort: LPARAM) -> c_int
- TreeView_InsertItem :: #force_inline proc "system" (hwnd: HWND, lpis: LPTV_INSERTSTRUCTW) -> HTREEITEM {
- return cast(HTREEITEM)uintptr(SendMessageW(hwnd, TVM_INSERTITEMW, 0, cast(LPARAM)uintptr(lpis)))
- }
- TreeView_DeleteItem :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TVM_DELETEITEM, 0, cast(LPARAM)uintptr(hitem))
- }
- TreeView_DeleteAllItems :: #force_inline proc "system" (hwnd: HWND) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TVM_DELETEITEM, 0, cast(LPARAM)transmute(uintptr)(TVI_ROOT))
- }
- TreeView_Expand :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM, code: UINT) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TVM_EXPAND, cast(WPARAM)code, cast(LPARAM)uintptr(hitem))
- }
- TreeView_GetItemRect :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM, prc: ^RECT, code: UINT) -> BOOL {
- alias: struct #raw_union {
- rc: ^RECT,
- hitem: ^HTREEITEM,
- }
- alias.rc = prc
- alias.hitem^ = hitem
- return cast(BOOL)SendMessageW(hwnd, TVM_GETITEMRECT, cast(WPARAM)code, cast(LPARAM)uintptr(prc))
- }
- TreeView_GetCount :: #force_inline proc "system" (hwnd: HWND) -> UINT {
- return cast(UINT)SendMessageW(hwnd, TVM_GETCOUNT, 0, 0)
- }
- TreeView_GetIndent :: #force_inline proc "system" (hwnd: HWND) -> UINT {
- return cast(UINT)SendMessageW(hwnd, TVM_GETINDENT, 0, 0)
- }
- TreeView_SetIndent :: #force_inline proc "system" (hwnd: HWND, indent: UINT) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TVM_SETINDENT, cast(WPARAM)indent, 0)
- }
- TreeView_GetImageList :: #force_inline proc "system" (hwnd: HWND, iImage: INT) -> HIMAGELIST {
- return cast(HIMAGELIST)uintptr(SendMessageW(hwnd, TVM_GETIMAGELIST, cast(WPARAM)iImage, 0))
- }
- TreeView_SetImageList :: #force_inline proc "system" (hwnd: HWND, himl: HIMAGELIST, iImage: INT) -> HIMAGELIST {
- return cast(HIMAGELIST)uintptr(SendMessageW(hwnd, TVM_SETIMAGELIST, cast(WPARAM)iImage, cast(LPARAM)uintptr(himl)))
- }
- TreeView_GetNextItem :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM, code: UINT) -> HTREEITEM {
- return cast(HTREEITEM)uintptr(SendMessageW(hwnd, TVM_GETNEXTITEM, cast(WPARAM)code, cast(LPARAM)uintptr(hitem)))
- }
- TreeView_GetChild :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM) -> HTREEITEM {
- return TreeView_GetNextItem(hwnd, hitem, TVGN_CHILD)
- }
- TreeView_GetNextSibling :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM) -> HTREEITEM {
- return TreeView_GetNextItem(hwnd, hitem, TVGN_NEXT)
- }
- TreeView_GetPrevSibling :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM) -> HTREEITEM {
- return TreeView_GetNextItem(hwnd, hitem, TVGN_PREVIOUS)
- }
- TreeView_GetParent :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM) -> HTREEITEM {
- return TreeView_GetNextItem(hwnd, hitem, TVGN_PARENT)
- }
- TreeView_GetFirstVisible :: #force_inline proc "system" (hwnd: HWND) -> HTREEITEM {
- return TreeView_GetNextItem(hwnd, nil, TVGN_FIRSTVISIBLE)
- }
- TreeView_GetNextVisible :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM) -> HTREEITEM {
- return TreeView_GetNextItem(hwnd, hitem, TVGN_NEXTVISIBLE)
- }
- TreeView_GetPrevVisible :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM) -> HTREEITEM {
- return TreeView_GetNextItem(hwnd, hitem, TVGN_PREVIOUSVISIBLE)
- }
- TreeView_GetSelection :: #force_inline proc "system" (hwnd: HWND) -> HTREEITEM {
- return TreeView_GetNextItem(hwnd, nil, TVGN_CARET)
- }
- TreeView_GetDropHilight :: #force_inline proc "system" (hwnd: HWND) -> HTREEITEM {
- return TreeView_GetNextItem(hwnd, nil, TVGN_DROPHILITE)
- }
- TreeView_GetRoot :: #force_inline proc "system" (hwnd: HWND) -> HTREEITEM {
- return TreeView_GetNextItem(hwnd, nil, TVGN_ROOT)
- }
- TreeView_GetLastVisible :: #force_inline proc "system" (hwnd: HWND) -> HTREEITEM {
- return TreeView_GetNextItem(hwnd, nil, TVGN_LASTVISIBLE)
- }
- TreeView_Select :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM, code: UINT) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TVM_SELECTITEM, cast(WPARAM)code, cast(LPARAM)uintptr(hitem))
- }
- TreeView_SelectItem :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM) -> BOOL {
- return TreeView_Select(hwnd, hitem, TVGN_CARET)
- }
- TreeView_SelectDropTarget :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM) -> BOOL {
- return TreeView_Select(hwnd, hitem, TVGN_DROPHILITE)
- }
- TreeView_SelectSetFirstVisible :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM) -> BOOL {
- return TreeView_Select(hwnd, hitem, TVGN_FIRSTVISIBLE)
- }
- TreeView_GetItem :: #force_inline proc "system" (hwnd: HWND, pitem: ^TV_ITEMW) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TVM_GETITEMW, 0, cast(LPARAM)uintptr(pitem))
- }
- TreeView_SetItem :: #force_inline proc "system" (hwnd: HWND, pitem: ^TV_ITEMW) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TVM_SETITEMW, 0, cast(LPARAM)uintptr(pitem))
- }
- TreeView_EditLabel :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM) -> HWND {
- return cast(HWND)uintptr(SendMessageW(hwnd, TVM_EDITLABELW, 0, cast(LPARAM)uintptr(hitem)))
- }
- TreeView_GetEditControl :: #force_inline proc "system" (hwnd: HWND) -> HWND {
- return cast(HWND)uintptr(SendMessageW(hwnd, TVM_GETEDITCONTROL, 0, 0))
- }
- TreeView_GetVisibleCount :: #force_inline proc "system" (hwnd: HWND) -> UINT {
- return cast(UINT)SendMessageW(hwnd, TVM_GETVISIBLECOUNT, 0, 0)
- }
- TreeView_HitTest :: #force_inline proc "system" (hwnd: HWND, lpht: LPTV_HITTESTINFO) -> HTREEITEM {
- return cast(HTREEITEM)uintptr(SendMessageW(hwnd, TVM_HITTEST, 0, cast(LPARAM)uintptr(lpht)))
- }
- TreeView_CreateDragImage :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM) -> HIMAGELIST {
- return cast(HIMAGELIST)uintptr(SendMessageW(hwnd, TVM_CREATEDRAGIMAGE, 0, cast(LPARAM)uintptr(hitem)))
- }
- TreeView_SortChildren :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM, recurse: BOOL) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TVM_SORTCHILDREN, cast(WPARAM)recurse, cast(LPARAM)uintptr(hitem))
- }
- TreeView_EnsureVisible :: #force_inline proc "system" (hwnd: HWND, hitem: HTREEITEM) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TVM_ENSUREVISIBLE, 0, cast(LPARAM)uintptr(hitem))
- }
- TreeView_SortChildrenCB :: #force_inline proc "system" (hwnd: HWND, psort: LPTVSORTCB, recurse: BOOL) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TVM_SORTCHILDRENCB, cast(WPARAM)recurse, cast(LPARAM)uintptr(psort))
- }
- TreeView_EndEditLabelNow :: #force_inline proc "system" (hwnd: HWND, fCancel: BOOL) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TVM_ENDEDITLABELNOW, cast(WPARAM)fCancel, 0)
- }
- TreeView_SetToolTips :: #force_inline proc "system" (hwnd: HWND, hwndTT: HWND) -> HWND {
- return cast(HWND)uintptr(SendMessageW(hwnd, TVM_SETTOOLTIPS, uintptr(hwndTT), 0))
- }
- TreeView_GetToolTips :: #force_inline proc "system" (hwnd: HWND) -> HWND {
- return cast(HWND)uintptr(SendMessageW(hwnd, TVM_GETTOOLTIPS, 0, 0))
- }
- TreeView_GetISearchString :: #force_inline proc "system" (hwnd: HWND, lpsz: LPWSTR) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TVM_GETISEARCHSTRINGW, 0, cast(LPARAM)uintptr(lpsz))
- }
- TreeView_SetInsertMark :: #force_inline proc "system" (hwnd: HWND, hItem: HTREEITEM, fAfter: BOOL) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TVM_SETINSERTMARK, cast(WPARAM)fAfter, cast(LPARAM)uintptr(hItem))
- }
- TreeView_SetUnicodeFormat :: #force_inline proc "system" (hwnd: HWND, fUnicode: BOOL) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TVM_SETUNICODEFORMAT, cast(WPARAM)fUnicode, 0)
- }
- TreeView_GetUnicodeFormat :: #force_inline proc "system" (hwnd: HWND) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TVM_GETUNICODEFORMAT, 0, 0)
- }
- TreeView_SetItemHeight :: #force_inline proc "system" (hwnd: HWND, iHeight: c_int) -> c_int {
- return cast(c_int)SendMessageW(hwnd, TVM_SETITEMHEIGHT, cast(WPARAM)iHeight, 0)
- }
- TreeView_GetItemHeight :: #force_inline proc "system" (hwnd: HWND) -> c_int {
- return cast(c_int)SendMessageW(hwnd, TVM_GETITEMHEIGHT, 0, 0)
- }
- TreeView_SetBkColor :: #force_inline proc "system" (hwnd: HWND, clr: COLORREF) -> COLORREF {
- return cast(COLORREF)SendMessageW(hwnd, TVM_SETBKCOLOR, 0, cast(LPARAM)clr)
- }
- TreeView_SetTextColor :: #force_inline proc "system" (hwnd: HWND, clr: COLORREF) -> COLORREF {
- return cast(COLORREF)SendMessageW(hwnd, TVM_SETTEXTCOLOR, 0, cast(LPARAM)clr)
- }
- TreeView_GetBkColor :: #force_inline proc "system" (hwnd: HWND) -> COLORREF {
- return cast(COLORREF)SendMessageW(hwnd, TVM_GETBKCOLOR, 0, 0)
- }
- TreeView_GetTextColor :: #force_inline proc "system" (hwnd: HWND) -> COLORREF {
- return cast(COLORREF)SendMessageW(hwnd, TVM_GETTEXTCOLOR, 0, 0)
- }
- TreeView_SetScrollTime :: #force_inline proc "system" (hwnd: HWND, uTime: UINT) -> UINT {
- return cast(UINT)SendMessageW(hwnd, TVM_SETSCROLLTIME, cast(WPARAM)uTime, 0)
- }
- TreeView_GetScrollTime :: #force_inline proc "system" (hwnd: HWND) -> UINT {
- return cast(UINT)SendMessageW(hwnd, TVM_GETSCROLLTIME, 0, 0)
- }
- TreeView_SetInsertMarkColor :: #force_inline proc "system" (hwnd: HWND, clr: COLORREF) -> COLORREF {
- return cast(COLORREF)SendMessageW(hwnd, TVM_SETINSERTMARKCOLOR, 0, cast(LPARAM)clr)
- }
- TreeView_GetInsertMarkColor :: #force_inline proc "system" (hwnd: HWND) -> COLORREF {
- return cast(COLORREF)SendMessageW(hwnd, TVM_GETINSERTMARKCOLOR, 0, 0)
- }
- TreeView_SetItemState :: #force_inline proc "system" (hwndTV: HWND, hti: HTREEITEM, data: UINT, mask: UINT) {
- item := TVITEMW {
- mask = TVIF_STATE,
- hItem = hti,
- stateMask = mask,
- state = data,
- }
- SendMessageW(hwndTV, TVM_SETITEMW, 0, cast(LPARAM)uintptr(&item))
- }
- TreeView_SetCheckState :: #force_inline proc "system" (hwndTV: HWND, hti: HTREEITEM, fCheck: BOOL) {
- TreeView_SetItemState(hwndTV, hti, INDEXTOSTATEIMAGEMASK(2 if fCheck else 1), TVIS_STATEIMAGEMASK)
- }
- TreeView_GetItemState :: #force_inline proc "system" (hwndTV: HWND, hti: HTREEITEM, mask: UINT) -> UINT {
- return cast(UINT)SendMessageW(hwndTV, TVM_GETITEMSTATE, uintptr(hti), cast(LPARAM)mask)
- }
- TreeView_GetCheckState :: #force_inline proc "system" (hwndTV: HWND, hti: HTREEITEM) -> UINT {
- return ((cast(UINT)SendMessageW(hwndTV, TVM_GETITEMSTATE, uintptr(hti), cast(LPARAM)TVIS_STATEIMAGEMASK)) >> 12) - 1
- }
- TreeView_SetLineColor :: #force_inline proc "system" (hwnd: HWND, clr: COLORREF) -> COLORREF {
- return cast(COLORREF)SendMessageW(hwnd, TVM_SETLINECOLOR, 0, cast(LPARAM)clr)
- }
- TreeView_GetLineColor :: #force_inline proc "system" (hwnd: HWND) -> COLORREF {
- return cast(COLORREF)SendMessageW(hwnd, TVM_GETLINECOLOR, 0, 0)
- }
- TreeView_MapAccIDToHTREEITEM :: #force_inline proc "system" (hwnd: HWND, id: UINT) -> HTREEITEM {
- return cast(HTREEITEM)uintptr(SendMessageW(hwnd, TVM_MAPACCIDTOHTREEITEM, cast(WPARAM)id, 0))
- }
- TreeView_MapHTREEITEMToAccID :: #force_inline proc "system" (hwnd: HWND, htreeitem: HTREEITEM) -> UINT {
- return cast(UINT)SendMessageW(hwnd, TVM_MAPHTREEITEMTOACCID, uintptr(htreeitem), 0)
- }
- // Combo Box Ex Control
- CBEIF_TEXT :: 0x01
- CBEIF_IMAGE :: 0x02
- CBEIF_SELECTEDIMAGE :: 0x04
- CBEIF_OVERLAY :: 0x08
- CBEIF_INDENT :: 0x10
- CBEIF_LPARAM :: 0x20
- CBEIF_DI_SETITEM :: 0x10000000
- CBES_EX_NOEDITIMAGE :: 0x01
- CBES_EX_NOEDITIMAGEINDENT :: 0x02
- CBES_EX_PATHWORDBREAKPROC :: 0x04
- CBES_EX_NOSIZELIMIT :: 0x08
- CBES_EX_CASESENSITIVE :: 0x10
- CBEN_GETDISPINFOA :: (CBEN_FIRST - 0)
- CBEN_INSERTITEM :: (CBEN_FIRST - 1)
- CBEN_DELETEITEM :: (CBEN_FIRST - 2)
- CBEN_BEGINEDIT :: (CBEN_FIRST - 4)
- CBEN_ENDEDITA :: (CBEN_FIRST - 5)
- CBEN_ENDEDITW :: (CBEN_FIRST - 6)
- CBEN_GETDISPINFOW :: (CBEN_FIRST - 7)
- CBEN_DRAGBEGINA :: (CBEN_FIRST - 8)
- CBEN_DRAGBEGINW :: (CBEN_FIRST - 9)
- CBENF_KILLFOCUS :: 1
- CBENF_RETURN :: 2
- CBENF_ESCAPE :: 3
- CBENF_DROPDOWN :: 4
- CBEMAXSTRLEN :: 260
- COMBOBOXEXITEMW :: struct {
- mask: UINT,
- iItem: INT_PTR,
- pszText: LPWSTR,
- cchTextMax: c_int,
- iImage: c_int,
- iSelectedImage: c_int,
- iOverlay: c_int,
- iIndent: c_int,
- lParam: LPARAM,
- }
- PCOMBOBOXEXITEMW :: ^COMBOBOXEXITEMW
- PCCOMBOBOXEXITEMW :: ^COMBOBOXEXITEMW
- NMCOMBOBOXEXW :: struct {
- hdr: NMHDR,
- ceItem: COMBOBOXEXITEMW,
- }
- PNMCOMBOBOXEXW :: ^NMCOMBOBOXEXW
- NMCBEDRAGBEGINW :: struct {
- hdr: NMHDR,
- iItemId: c_int,
- szText: [CBEMAXSTRLEN]WCHAR,
- }
- PNMCBEDRAGBEGINW :: ^NMCBEDRAGBEGINW
- LPNMCBEDRAGBEGINW :: PNMCBEDRAGBEGINW
- NMCBEENDEDITW :: struct {
- hdr: NMHDR,
- fChanged: BOOL,
- iNewSelection: c_int,
- szText: [CBEMAXSTRLEN]WCHAR,
- iWhy: c_int,
- }
- PNMCBEENDEDITW :: ^NMCBEENDEDITW
- LPNMCBEENDEDITW :: PNMCBEENDEDITW
- // Tab Control
- TCS_EX_FLATSEPARATORS :: 0x1
- TCS_EX_REGISTERDROP :: 0x2
- TCN_KEYDOWN :: TCN_FIRST - 0
- TCN_SELCHANGE :: TCN_FIRST - 1
- TCN_SELCHANGING :: TCN_FIRST - 2
- TCN_GETOBJECT :: TCN_FIRST - 3
- TCN_FOCUSCHANGE :: TCN_FIRST - 4
- TCITEMHEADERW :: struct {
- mask: UINT,
- lpReserved1: UINT,
- lpReserved2: UINT,
- pszText: LPWSTR,
- cchTextMax: c_int,
- iImage: c_int,
- }
- TC_ITEMHEADERW :: TCITEMHEADERW
- LPTCITEMHEADERW :: ^TCITEMHEADERW
- LPTC_ITEMHEADERW :: LPTCITEMHEADERW
- TCITEMW :: struct {
- mask: UINT,
- dwState: DWORD,
- dwStateMask: DWORD,
- pszText: LPWSTR,
- cchTextMax: c_int,
- iImage: c_int,
- lParam: LPARAM,
- }
- TC_ITEMW :: TCITEMW
- LPTCITEMW :: ^TCITEMW
- LPTC_ITEMW :: LPTCITEMW
- TCHITTESTINFO :: struct {
- pt: POINT,
- flags: UINT,
- }
- TC_HITTESTINFO :: TCHITTESTINFO
- LPTCHITTESTINFO :: ^TCHITTESTINFO
- LPTC_HITTESTINFO :: LPTCHITTESTINFO
- NMTCKEYDOWN :: struct #packed {
- hdr: NMHDR,
- wVKey: WORD,
- flags: UINT,
- }
- TC_KEYDOWN :: NMTCKEYDOWN
- TabCtrl_GetImageList :: #force_inline proc "system" (hwnd: HWND) -> HIMAGELIST {
- return cast(HIMAGELIST)uintptr(SendMessageW(hwnd, TCM_GETIMAGELIST, 0, 0))
- }
- TabCtrl_SetImageList :: #force_inline proc "system" (hwnd: HWND, himl: HIMAGELIST) -> HIMAGELIST {
- return cast(HIMAGELIST)uintptr(SendMessageW(hwnd, TCM_SETIMAGELIST, 0, cast(LPARAM)uintptr(himl)))
- }
- TabCtrl_GetItemCount :: #force_inline proc "system" (hwnd: HWND) -> c_int {
- return cast(c_int)SendMessageW(hwnd, TCM_GETITEMCOUNT, 0, 0)
- }
- TabCtrl_GetItem :: #force_inline proc "system" (hwnd: HWND, iItem: c_int, pitem: ^TC_ITEMW) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TCM_GETITEMW, cast(WPARAM)iItem, cast(LPARAM)uintptr(pitem))
- }
- TabCtrl_SetItem :: #force_inline proc "system" (hwnd: HWND, iItem: c_int, pitem: ^TC_ITEMW) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TCM_SETITEMW, cast(WPARAM)iItem, cast(LPARAM)uintptr(pitem))
- }
- TabCtrl_InsertItem :: #force_inline proc "system" (hwnd: HWND, iItem: c_int, pitem: ^TC_ITEMW) -> c_int {
- return cast(c_int)SendMessageW(hwnd, TCM_INSERTITEMW, cast(WPARAM)iItem, cast(LPARAM)uintptr(pitem))
- }
- TabCtrl_DeleteItem :: #force_inline proc "system" (hwnd: HWND, i: c_int) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TCM_DELETEITEM, cast(WPARAM)i, 0)
- }
- TabCtrl_DeleteAllItems :: #force_inline proc "system" (hwnd: HWND) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TCM_DELETEALLITEMS, 0, 0)
- }
- TabCtrl_GetItemRect :: #force_inline proc "system" (hwnd: HWND, i: c_int, prc: ^RECT) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TCM_GETITEMRECT, cast(WPARAM)i, cast(LPARAM)uintptr(prc))
- }
- TabCtrl_GetCurSel :: #force_inline proc "system" (hwnd: HWND) -> c_int {
- return cast(c_int)SendMessageW(hwnd, TCM_GETCURSEL, 0, 0)
- }
- TabCtrl_SetCurSel :: #force_inline proc "system" (hwnd: HWND, i: c_int) -> c_int {
- return cast(c_int)SendMessageW(hwnd, TCM_SETCURSEL, cast(WPARAM)i, 0)
- }
- TabCtrl_HitTest :: #force_inline proc "system" (hwndTC: HWND, pinfo: ^TC_HITTESTINFO) -> c_int {
- return cast(c_int)SendMessageW(hwndTC, TCM_HITTEST, 0, cast(LPARAM)uintptr(pinfo))
- }
- TabCtrl_SetItemExtra :: #force_inline proc "system" (hwndTC: HWND, cb: c_int) -> BOOL {
- return cast(BOOL)SendMessageW(hwndTC, TCM_SETITEMEXTRA, cast(WPARAM)cb, 0)
- }
- TabCtrl_AdjustRect :: #force_inline proc "system" (hwnd: HWND, bLarger: BOOL, prc: ^RECT) -> c_int {
- return cast(c_int)SendMessageW(hwnd, TCM_ADJUSTRECT, cast(WPARAM)bLarger, cast(LPARAM)uintptr(prc))
- }
- TabCtrl_SetItemSize :: #force_inline proc "system" (hwnd: HWND, x,y: c_int) -> DWORD {
- return cast(DWORD)SendMessageW(hwnd, TCM_SETITEMSIZE, 0, MAKELPARAM(x,y))
- }
- TabCtrl_RemoveImage :: #force_inline proc "system" (hwnd: HWND, i: c_int) {
- SendMessageW(hwnd, TCM_REMOVEIMAGE, cast(WPARAM)i, 0)
- }
- TabCtrl_SetPadding :: #force_inline proc "system" (hwnd: HWND, cx,cy: c_int) {
- SendMessageW(hwnd, TCM_SETPADDING, 0, MAKELPARAM(cx,cy))
- }
- TabCtrl_GetRowCount :: #force_inline proc "system" (hwnd: HWND) -> c_int {
- return cast(c_int)SendMessageW(hwnd, TCM_GETROWCOUNT, 0, 0)
- }
- TabCtrl_GetToolTips :: #force_inline proc "system" (hwnd: HWND) -> HWND {
- return cast(HWND)uintptr(SendMessageW(hwnd, TCM_GETTOOLTIPS, 0, 0))
- }
- TabCtrl_SetToolTips :: #force_inline proc "system" (hwnd: HWND, hwndTT: HWND) {
- SendMessageW(hwnd, TCM_SETTOOLTIPS, uintptr(hwndTT), 0)
- }
- TabCtrl_GetCurFocus :: #force_inline proc "system" (hwnd: HWND) -> c_int {
- return cast(c_int)SendMessageW(hwnd, TCM_GETCURFOCUS, 0, 0)
- }
- TabCtrl_SetCurFocus :: #force_inline proc "system" (hwnd: HWND, i: c_int) {
- SendMessageW(hwnd, TCM_SETCURFOCUS, cast(WPARAM)i, 0)
- }
- TabCtrl_SetMinTabWidth :: #force_inline proc "system" (hwnd: HWND, x: c_int) -> c_int {
- return cast(c_int)SendMessageW(hwnd, TCM_SETMINTABWIDTH, 0, cast(LPARAM)x)
- }
- TabCtrl_DeselectAll :: #force_inline proc "system" (hwnd: HWND, fExcludeFocus: BOOL) {
- SendMessageW(hwnd, TCM_DESELECTALL, cast(WPARAM)fExcludeFocus, 0)
- }
- TabCtrl_HighlightItem :: #force_inline proc "system" (hwnd: HWND, i: c_int, fHighlight: BOOL) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TCM_HIGHLIGHTITEM, cast(WPARAM)i, cast(LPARAM)MAKELONG(fHighlight,0))
- }
- TabCtrl_SetExtendedStyle :: #force_inline proc "system" (hwnd: HWND, dw: DWORD) -> DWORD {
- return cast(DWORD)SendMessageW(hwnd, TCM_SETEXTENDEDSTYLE, 0, cast(LPARAM)dw)
- }
- TabCtrl_GetExtendedStyle :: #force_inline proc "system" (hwnd: HWND) -> DWORD {
- return cast(DWORD)SendMessageW(hwnd, TCM_GETEXTENDEDSTYLE, 0, 0)
- }
- TabCtrl_SetUnicodeFormat :: #force_inline proc "system" (hwnd: HWND, fUnicode: BOOL) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TCM_SETUNICODEFORMAT, cast(WPARAM)fUnicode, 0)
- }
- TabCtrl_GetUnicodeFormat :: #force_inline proc "system" (hwnd: HWND) -> BOOL {
- return cast(BOOL)SendMessageW(hwnd, TCM_GETUNICODEFORMAT, 0, 0)
- }
|