Dazu muss man nur einen weiteren Befehl einfügen:
Spoiler anzeigen
#include <GuiComboBox.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $sInifile = @ScriptDir & '\prog.ini'
Global $sComboContent = IniRead($sInifile, 'Config', 'Combo', '')
GUICreate('Test', 280, 80)
$hCombo = GUICtrlCreateCombo('', 10, 10, 200, 20)
GUICtrlSetData(-1, $sComboContent)
$hSave = GUICtrlCreateButton('Save', 211, 10, 60, 20)
GUISetState()
GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')
While True
If GUICtrlRead($hCombo) <> '' Then
If BitAND(GUICtrlGetState($hSave), $GUI_DISABLE) Then GUICtrlSetState($hSave, $GUI_ENABLE)
Else
If BitAND(GUICtrlGetState($hSave), $GUI_ENABLE) Then GUICtrlSetState($hSave, $GUI_DISABLE)
EndIf
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $hSave
$sTmp = GUICtrlRead($hCombo)
If $sComboContent <> '' Then $sComboContent &= '|'
$sComboContent &= $sTmp
IniWrite($sInifile, 'Config', 'Combo', $sComboContent)
GUICtrlSetData($hCombo, '')
GUICtrlSetData($hCombo, $sComboContent, $sTmp)
EndSwitch
WEnd
Func WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
Local $nNotifyCode, $nID
$nNotifyCode = BitShift($wParam, 16)
$nID = BitAND($wParam, 0x0000FFFF)
If $nID = $hCombo And $nNotifyCode = 5 Then _GUICtrlComboBox_SetEditText($hCombo, StringRegExpReplace(StringLeft(GUICtrlRead($hCombo), 6), '[^0-9]', ''))
Return $GUI_RUNDEFMSG
EndFunc