Hallo ich brauche mal wieder Eure Hilfe.
Mit unten stehenden Code lese ich die Listbox $cidList2 aus.
Das sieht so aus:
0: Camera/Field of View 0
1: Camera/Image Igloo 0
2: Camera/Look Around 0
3: Camera/Match New Photo... 0
4: Camera/Next 0
5: Camera/Orbit 0
6: Camera/Pan 0
7: Camera/Parallel Projection 0
8: Camera/Perspective 0
9: Camera/Position Camera 0
10: Camera/Previous 0
...
439: Window/Show Tags 0
In der zweiten Listbox $cidList3 unter "Assigned" stehen manchmal auch Werte drin, wenn man z.B. den Eintrag "Camera/Image Igloo" in der Listbox 2 anklickt, erscheint in der Listbox $cidList3 ein "I", bei "Camera/Orbit" würde ein "O" stehen, bei "Camera/Zoom Extents" steht "Ctrl+Shift+E" und "Shift+Z".
Mein Lösungsansatz das ich einfach _GUICtrlListBox_GetText($hLB3, 0) mit Abfrage geht nicht, da erst immer ein Focus auf einem Wert in der zweiten Listbox stehen muss damit man dann den dazu passenden Wert in der dritten Listbox sieht.
Ein einfache _GUICtrlListBox_GetText($hLB2, $n) reicht nicht aus um auch den dazu passenden Wert aus Listbox3 zu holen.
Was kann man da machen?
#include <GuiListBox.au3>
Dim $ttlWindow
Dim $hdlWindow
Dim $cidList2, $cidList3
$ttlWindow = "SketchUp Preferences"
$cidList2 = "[CLASS:ListBox; INSTANCE:2]"
$cidList3 = "[CLASS:ListBox; INSTANCE:3]"
$hdlWindow = WinGetHandle($ttlWindow)
Local $hLB2 = ControlGetHandle($hdlWindow, "", $cidList2)
Local $hLB3 = ControlGetHandle($hdlWindow, "", $cidList3)
Local $iCnt2 = _GUICtrlListBox_GetCount($hLB2)
Local $iCnt3 = _GUICtrlListBox_GetCount($hLB3)
Local $sMsg2 = ""
Local $sMsg3 = ""
For $n = 0 To $iCnt2 - 1
;~ $sMsg2 &= $n & ": " & _GUICtrlListBox_GetText($hLB2, $n) & @CRLF
$sMsg2 &= $n & ": " & _GUICtrlListBox_GetText($hLB2, $n) & " " & _GUICtrlListBox_GetText($hLB3, 0) & @CRLF
Next
ConsoleWrite($sMsg2 & @CRLF)
Alles anzeigen