函数参考


_GUICtrlHeader_SetItemFormat

设置项目格式

#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 或更高版本)

返回值

成功: 返回 True
失败: 返回 False

注意/说明

None.

相关

_GUICtrlHeader_GetItemFormat

示例/演示


#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