#include #include #include #include #include #include #include #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("TextExpander", 451, 403, 336, 33) $IP = GUICtrlCreateInput("", 32, 304, 177, 21) ; GUICtrlCreateInput("", 240, 304, 177, 21) $ButtonNext = GUICtrlCreateButton("Next", 24, 344, 89, 33, $BS_DEFPUSHBUTTON) $Button2 = GUICtrlCreateButton("Add Entry", 136, 344, 105, 33) $Edit1 = GUICtrlCreateList("", 16, 8, 409, 279) $Button3 = GUICtrlCreateButton("Close", 352, 344, 65, 33) Global $intItemIndex = -1 GUISetState(@SW_SHOW) LoadData() #EndRegion ### END Koda GUI section ### GUIRegisterMsg($WM_COMMAND, "WM_COMMAND") Func LoadData() Local Const $sFilePath = @ScriptDir & "\Textexpander.txt" Local $hFileOpen = FileOpen($sFilePath, $FO_READ) $sData = FileRead($hFileOpen) FileClose($hFileOpen) Global $MyVal = StringSplit($sData, "|") Global $possibles = StringReplace($sData, @CRLF, '|') GUICtrlSetData($Edit1, $possibles) EndFunc ;==>LoadData While 1 $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then ExitLoop If $msg = $ButtonNext Then wm_command(0x005B0B82,273,0x03000003,0x003608BC) ;MsgBox (0,"Next",$intItemIndex) EndIf WEnd Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam) ConsoleWrite ("WM_COMMAND: $hWnd=" & $hWnd & " $iMsg=" & $iMsg & " $wParam=" & $wParam & " $lParam=" & $lParam & @CRLF) Local $hdlWindowFrom, _ $intControlID_From, _ $intMessageCode, _ $strSearchString = "" ;Static $intItemIndex = -1 ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $intControlID_From = BitAND($wParam, 0xFFFF) $intMessageCode = BitShift($wParam, 16) Switch $intControlID_From Case $IP Switch $intMessageCode Case $EN_CHANGE $strSearchString = GUICtrlRead($IP) $intItemIndex = _GUICtrlListBox_FindInText($Edit1, $strSearchString, $intItemIndex) ; <<<<<<<<<<<<<< ConsoleWrite ("$intItemIndex=" & $intItemIndex & @CRLF) If @error Then ConsoleWrite("Error while searching the string in the ListBox. Error: " & @error & @CRLF) Else _GUICtrlListBox_SetCurSel($Edit1, $intItemIndex) If @error Then ConsoleWrite("Error while selecting the ListBox Item " & $intItemIndex & ".Error: " & @error & @CRLF) EndIf EndIf EndSwitch EndSwitch EndFunc ;==>WM_COMMAND