⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 header.mac

📁 用汇编语言编写Windows驱动程序的工具
💻 MAC
字号:
;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;
;;                     Header Control Macros
;;
;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;;
;;      Header.mac for 32 bit MASM v1.3 (April 2003)
;;
;;      This file contains the macros, equates and  structures
;;      to make it easier to send messages to Header control
;;
;;      This include file is written and maintained by Four-F (four-f@mail.ru)
;;
;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

;;   NOTE : windows.inc and cocomac.mac MUST be included before
;;   as Header.mac require some difinitions from it.

IFNDEF UNICODE
	UNICODE = 0
ENDIF

IFNDEF HD_TEXTFILTERA
	HD_TEXTFILTER STRUCT
		pszText		LPSTR	?	;; [in] pointer to the buffer containing the filter
		cchTextMax	DWORD	?	;; [in] max size of buffer/edit control buffer
	HD_TEXTFILTER ENDS

	HDTEXTFILTER	equ <HD_TEXTFILTER>
	HD_TEXTFILTERW	equ <HD_TEXTFILTER>
	HD_TEXTFILTERA	equ <HD_TEXTFILTER>
ENDIF

IFNDEF NMHDDISPINFO
	NMHDDISPINFO STRUCT
		hdr			NMHDR	<>
		iItem		DWORD	?
		imask		UINT	?
		pszText		LPSTR	?
		cchTextMax	DWORD	?
		iImage		DWORD	?
		lParam		DWORD	?
	NMHDDISPINFO ENDS

	NMHDDISPINFOW	equ <NMHDDISPINFO>
	NMHDDISPINFOA	equ <NMHDDISPINFO>
ENDIF

IFNDEF HDS_HOTTRACK
	HDS_HOTTRACK		equ 4
ENDIF

IFNDEF HDS_DRAGDROP
	HDS_DRAGDROP		equ 40h
	HDS_FULLDRAG		equ 80h
ENDIF

IFNDEF HDS_FILTERBAR
	HDS_FILTERBAR		equ 100h
ENDIF

IFNDEF HDS_FLAT
	HDS_FLAT 			equ 200h
ENDIF

IFNDEF HDFT_ISSTRING
	HDFT_ISSTRING		equ 0 ;; HD_ITEM.pvFilter points to a HD_TEXTFILTER
	HDFT_ISNUMBER		equ 1 ;; HD_ITEM.pvFilter points to a INT
	HDFT_HASNOVALUE		equ 8000h ;; clear the filter, by setting this bit
ENDIF

IFNDEF HDI_FILTER
	HDI_FILTER			equ 100h
ENDIF

IFNDEF HDF_SORTUP
	HDF_SORTUP			equ 400h
	HDF_SORTDOWN		equ 200h
ENDIF

IFNDEF HHT_ONFILTER
	HHT_ONFILTER		equ 10h
	HHT_ONFILTERBUTTON	equ 20h
ENDIF

IFNDEF HDN_GETDISPINFO
	HDN_GETDISPINFOA	equ HDN_FIRST - 9
	HDN_GETDISPINFOW	equ HDN_FIRST - 29
	IF UNICODE
		HDN_GETDISPINFO equ HDN_GETDISPINFOW
	ELSE	
		HDN_GETDISPINFO equ HDN_GETDISPINFOA
	ENDIF
ENDIF

IFNDEF HDN_BEGINDRAG
	HDN_BEGINDRAG equ HDN_FIRST - 10
ENDIF

IFNDEF HDN_ENDDRAG
	HDN_ENDDRAG equ HDN_FIRST - 11
ENDIF

IFNDEF HDN_FILTERCHANGE
	HDN_FILTERCHANGE equ HDN_FIRST - 12
ENDIF

IFNDEF NMHDFILTERBTNCLICK
	NMHDFILTERBTNCLICK STRUCT
		hdr			NMHDR	<>
		iItem		DWORD	?
		rc			RECT	<>
	NMHDFILTERBTNCLICK ENDS
ENDIF

IFNDEF HDN_FILTERBTNCLICK
	HDN_FILTERBTNCLICK equ HDN_FIRST - 13
ENDIF

IFNDEF HDM_CLEARFILTER
	HDM_CLEARFILTER equ HDM_FIRST + 24
ENDIF

;; Clear filter takes -1 as a column value to indicate that all the filter should be cleared.
;; When this happens you will only receive a single filter changed notification.

Header_ClearAllFilters MACRO hwnd:REQ
	invoke SendMessage, hwnd, HDM_CLEARFILTER, -1, 0
ENDM

Header_ClearFilter MACRO hwnd:REQ, i:REQ
	invoke SendMessage, hwnd, HDM_CLEARFILTER, i, 0
ENDM

IFNDEF HDM_CREATEDRAGIMAGE
	HDM_CREATEDRAGIMAGE equ HDM_FIRST + 16	;; wparam = which item (by index)
ENDIF

Header_CreateDragImage MACRO hwnd:REQ, i:REQ
	invoke SendMessage, hwnd, HDM_CREATEDRAGIMAGE, i, 0
ENDM

Header_DeleteItem MACRO hwnd:REQ, i:REQ
	invoke SendMessage, hwnd, HDM_DELETEITEM, i, 0
ENDM

IFNDEF HDM_EDITFILTER
	HDM_EDITFILTER equ HDM_FIRST + 23
ENDIF

Header_EditFilter MACRO hwnd:REQ, i:REQ, fDiscardChanges:REQ
	invoke SendMessage, hwnd, HDM_EDITFILTER, i, $MAKEDWORD(fDiscardChanges, 0)
ENDM

IFNDEF HDM_GETBITMAPMARGIN
	HDM_GETBITMAPMARGIN equ HDM_FIRST + 21
ENDIF

Header_GetBitmapMargin MACRO hwnd:REQ
	invoke SendMessage, hwnd, HDM_GETBITMAPMARGIN, 0, 0
ENDM

Header_GetImageList MACRO hwnd:REQ
	invoke SendMessage, hwnd, HDM_GETIMAGELIST, 0, 0
ENDM

Header_GetItem MACRO hwnd:REQ, i:REQ, phdi:REQ
	invoke SendMessage, hwnd, HDM_GETITEM, i, phdi
ENDM

Header_GetItemCount MACRO hwnd:REQ
	invoke SendMessage, hwnd, HDM_GETITEMCOUNT, 0, 0
ENDM

IFNDEF HDM_GETITEMRECT
	HDM_GETITEMRECT equ HDM_FIRST + 7
ENDIF

Header_GetItemRect MACRO hwnd:REQ, i:REQ, lprc:REQ
	invoke SendMessage, hwnd, HDM_GETITEMRECT, i, lprc
ENDM

IFNDEF HDM_GETORDERARRAY
	HDM_GETORDERARRAY equ HDM_FIRST + 17
ENDIF

Header_GetOrderArray MACRO hwnd:REQ, iCount:REQ, lpiArray:REQ
	invoke SendMessage, hwnd, HDM_GETORDERARRAY, iCount, lpiArray
ENDM

IFNDEF HDM_GETUNICODEFORMAT
	HDM_GETUNICODEFORMAT equ CCM_GETUNICODEFORMAT
ENDIF

Header_GetUnicodeFormat MACRO hwnd:REQ
	invoke SendMessage, hwnd, HDM_GETUNICODEFORMAT, 0, 0
ENDM

;;IF UNICODE
;;	HDM_INSERTITEM equ HDM_INSERTITEMW
;;ENDIF

Header_InsertItem MACRO hwnd:REQ, i:REQ, phdi:REQ
	invoke SendMessage, hwnd, HDM_INSERTITEM, i, phdi
ENDM

Header_Layout MACRO hwnd:REQ, playout:REQ
	invoke SendMessage, hwnd, HDM_LAYOUT, 0, playout
ENDM

IFNDEF HDM_ORDERTOINDEX
	HDM_ORDERTOINDEX equ HDM_FIRST + 15
ENDIF

Header_OrderToIndex MACRO hwnd:REQ, i:REQ
	invoke SendMessage, hwnd, HDM_ORDERTOINDEX, i, 0
ENDM

IFNDEF HDM_SETBITMAPMARGIN
	HDM_SETBITMAPMARGIN equ HDM_FIRST + 20
ENDIF

Header_SetBitmapMargin MACRO hwnd:REQ, iWidth:REQ
	invoke SendMessage, hwnd, HDM_SETBITMAPMARGIN, iWidth, 0
ENDM

IFNDEF HDM_SETFILTERCHANGETIMEOUT
	HDM_SETFILTERCHANGETIMEOUT equ HDM_FIRST + 22
ENDIF

Header_SetFilterChangeTimeout MACRO hwnd:REQ, i:REQ
	invoke SendMessage, hwnd, HDM_SETFILTERCHANGETIMEOUT, 0, i
ENDM

IFNDEF HDM_SETHOTDIVIDER
	HDM_SETHOTDIVIDER equ HDM_FIRST + 19
ENDIF

Header_SetHotDivider MACRO hwnd:REQ, flag:REQ, dwInputValue:REQ
	invoke SendMessage, hwnd, HDM_SETHOTDIVIDER, flag, dwInputValue
ENDM

Header_SetImageList MACRO hwnd:REQ, himl:REQ
	invoke SendMessage, hwnd, HDM_SETIMAGELIST, 0, himl
ENDM

;;IF UNICODE
;;	HDM_SETITEM equ HDM_SETITEMW
;;ENDIF

Header_SetItem MACRO hwnd:REQ, i:REQ, phdi:REQ
	invoke SendMessage, hwnd, HDM_SETITEM, i, phdi
ENDM

IFNDEF HDM_SETORDERARRAY
	HDM_SETORDERARRAY equ HDM_FIRST + 18
ENDIF

Header_SetOrderArray MACRO hwnd:REQ, iCount:REQ, lpiArray:REQ
	invoke SendMessage, hwnd, HDM_SETORDERARRAY, iCount, lpiArray
ENDM

IFNDEF HDM_SETUNICODEFORMAT
	HDM_SETUNICODEFORMAT equ CCM_SETUNICODEFORMAT
ENDIF

Header_SetUnicodeFormat MACRO hwnd:REQ, fUnicode:REQ
	invoke SendMessage, hwnd, HDM_SETUNICODEFORMAT, fUnicode, 0
ENDM

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -