设置项目格式
#include <GuiHeader.au3>
_GUICtrlHeader_SetItemFormat($hWnd, $iIndex, $iFormat)
$hWnd | 控件句柄 |
$iIndex | 项目的 0 基索引 |
$iFormat | 结合下面的格式标识符: $HDF_CENTER - 项目内容居中对齐 $HDF_LEFT - 项目内容左对齐 $HDF_RIGHT - 项目内容右对齐 $HDF_BITMAP - 项目显示位图 $HDF_BITMAP_ON_RIGHT - 位图显示在文字右侧 $HDF_OWNERDRAW - 标头控件的所有者提请项目 $HDF_STRING - 项目显示为字符串 $HDF_IMAGE - 显示来自图像列表的图像 $HDF_RTLREADING - 从父窗口中反方向读取文本. $HDF_SORTDOWN - 在项目上绘制向下箭头( Windows XP 或更高版本) $HDF_SORTUP - 在项目上绘制向上箭头( Windows XP 或更高版本) |
#include <GUIConstantsEx.au3>
#include <GuiHeader.au3>
#include <GuiImageList.au3>
#include <WinAPI.au3>
$Debug_HDR = False ; 检查传递给函数的类名, 设置为True并输出到一个控件的句柄,用于检查它是否工作
Global $iMemo
_Main()
Func _Main()
Local $hGUI, $hHeader, $hImage
; 创建 GUI
$hGUI = GUICreate("Header", 400, 300)
$hHeader = _GUICtrlHeader_Create($hGUI)
$iMemo = GUICtrlCreateEdit("", 2, 24, 396, 274, 0)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
GUISetState()
; 创建一个含有图像的图像列表
$hImage = _GUIImageList_Create(11, 11)
_GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap($hGUI, 0xFF0000, 11, 11))
_GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap($hGUI, 0x00FF00, 11, 11))
_GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap($hGUI, 0x0000FF, 11, 11))
_GUICtrlHeader_SetImageList($hHeader, $hImage)
; 添加列
_GUICtrlHeader_AddItem($hHeader, "Column 1", 100, 0, 0)
_GUICtrlHeader_AddItem($hHeader, "Column 2", 100, 0, 1)
_GUICtrlHeader_AddItem($hHeader, "Column 3", 100, 0, 2)
_GUICtrlHeader_AddItem($hHeader, "Column 4", 100)
; 设置首列格式
_GUICtrlHeader_SetItemFormat($hHeader, 0, BitOR($HDF_CENTER, $HDF_STRING))
; 显示首列格式
MemoWrite("Column 1 format: " & "0x" & Hex(_GUICtrlHeader_GetItemFormat($hHeader, 0)))
Sleep(1000)
; 重设首列格式
_GUICtrlHeader_SetItemFormat($hHeader, 0, BitOR($HDF_LEFT, $HDF_STRING, $HDF_IMAGE))
; 显示首列格式
MemoWrite("Column 1 format: " & "0x" & Hex(_GUICtrlHeader_GetItemFormat($hHeader, 0)))
; 循环直到用户退出
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
; 写入一行到 memo 控件
Func MemoWrite($sMessage)
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite