函数参考


_GUICtrlComboBoxEx_InitStorage

分配用于存储列表框项目的内存

#include <GuiComboBoxEx.au3>
_GUICtrlComboBoxEx_InitStorage($hWnd, $iNum, $iBytes)

参数

$hWnd 控件句柄
$iNum 项目数量
$iBytes 内存分配字节数

返回值

成功: 返回预分配内存总数
失败: $CB_ERRSPACE

注意/说明

有助于加快组合控件具有大量(超过 100)项目时的初始化.

可以使用 $iNum 与 $iBytes 参数估计所需内存量.
如果你估计过高,会分配多余的额外内存.
如果你估计过低, 正常分配的内存将用于超过要求的项目数额.

相关

_GUICtrlComboBoxEx_AddDir, _GUICtrlComboBoxEx_AddString, _GUICtrlComboBoxEx_InsertString

示例/演示


#include <GuiComboBoxEx.au3>
#include <GUIConstantsEx.au3>

$Debug_CB = False ;检查传递给 ComboBox/ComboBoxEx 函数的类名, 设置为True并输出到一个控件的句柄,用于检查它是否工作

_Main()

Func _Main()
    Local $hGUI, $hCombo

    ; 创建 GUI
    $hGUI = GUICreate("ComboBoxEx Init Storage", 400, 300)
    $hCombo = _GUICtrlComboBoxEx_Create($hGUI, "", 2, 2, 396, 296, $CBS_SIMPLE)
    GUISetState()

    MsgBox(4160, "信息", "Innit Storage Pre-Allocated Memory For: " & _GUICtrlComboBoxEx_InitStorage($hCombo, 150, 300) & " Items")
    _GUICtrlComboBoxEx_BeginUpdate($hCombo)

    For $x = 0 To 149
        _GUICtrlComboBoxEx_AddString($hCombo, StringFormat("%03d : Random string", Random(1, 100, 1)))
    Next
    _GUICtrlComboBoxEx_EndUpdate($hCombo)

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>_Main