1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Sonic Hedgehog

Beiträge von Sonic Hedgehog

  • Per AutoIt Windows Form : Combobox komplett auslesen

    • Sonic Hedgehog
    • 17. Oktober 2014 um 00:13

    Echt Klasse funktioniert ^^

    Ich habe hier die fertige Funktion für diejenigen die das selbe Problem in Zukunft antreffen:

    Spoiler anzeigen
    [autoit]

    #include <guicomboboxex.au3>
    #include <guiconstantsex.au3>
    #include <guilistbox.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $hList=GetComboBoxData($hCombos)
    $iCount = _GUICtrlListBox_GetCount($hList)
    For $i = 0 To $iCount -1
    ConsoleWrite('DropdownList Item-' & $i+1 & ' : ' & _GUICtrlListBox_GetText($hList, $i) & @CRLF)
    Next
    exit

    [/autoit] [autoit][/autoit] [autoit]

    Func GetComboBoxData($fhCombo)
    ; create structure to receive combobox infos
    Local $tagCOMBOBOXINFO = 'struct;dword cbSize;int[4];int[4];dword stateButton;hwnd hwndCombo;hwnd hwndItem;hwnd hwndList;endstruct'
    Local $tCOMBOBOXINFO = DllStructCreate($tagCOMBOBOXINFO)
    DllStructSetData($tCOMBOBOXINFO, 'cbSize', DllStructGetSize($tCOMBOBOXINFO))
    Local $pCOMBOBOXINFO = DllStructGetPtr($tCOMBOBOXINFO)

    [/autoit] [autoit][/autoit] [autoit]

    ; ask for Combobox Info
    $aRet = DllCall('user32.dll', 'int', 'GetComboBoxInfo', 'hwnd', $fhCombo, 'ptr', $pCOMBOBOXINFO)
    If Not @error Then
    $hList = DllStructGetData($tCOMBOBOXINFO, "hwndList")
    Else
    MsgBox(16, "DLL not found", 'Die DLL "user32.dll" konnte nicht gefunden werden')
    EndIf
    Return $hList
    EndFunc

    [/autoit]

    Danke :thumbup:

    PS: Zeile 9 wäre so korrekt:
    ConsoleWrite('DropdownList Item-' & $i+1 & ' : ' & _GUICtrlListBox_GetText($hList, $i) & @CRLF)

    //EDIT

    Habe erst jetzt die einfachere Variante von dir gesehen. Wie heißt es so schön? Man sieht den Wald vor lauter Bäumen nicht :P

    Gruss: Sonic

  • Per AutoIt Windows Form : Combobox komplett auslesen

    • Sonic Hedgehog
    • 16. Oktober 2014 um 20:00

    Ich hoffe dass ich so den Handle der Combobox korrekt hole

    [autoit]

    WinWaitActive('Device Selection')
    $hWnd = WinGetHandle('Device Selection')

    [/autoit][autoit][/autoit][autoit]

    Local $hControl = ControlGetHandle($hWnd, "", "[CLASS:ComboBox; INSTANCE:2]")

    [/autoit]

    Nur was du mit "Emulate Windows" meinst weis ich nicht. Und wie genau frage ich den Listinhalt des Handles ab?? 8|

    Gruss: Sonic

  • Per AutoIt Windows Form : Combobox komplett auslesen

    • Sonic Hedgehog
    • 16. Oktober 2014 um 13:46

    Hey Leute. Ich versuche seit gestern in einer Windows Form die komplette ComboBox auszulesen. Aber ich kriege immer nur den Wert der gerade angezeigt wird.

    Hier mal ein Beispiel:

    [Blockierte Grafik: http://img5.fotos-hochladen.net/uploads/unbenanntazxeqnuimb.png]


    Was ich bisher ausprobiert habe:

    [autoit]

    $string = ControlGetText("Device Selection","", "[CLASS:ComboBox; INSTANCE:2]")
    MsgBox(0, "mBot Reader", "Ausgelesen: "&@crlf&@CRLF&$string)

    [/autoit]

    Hat da vieleicht wer n Tipp für mich?

    Gruss: Sonic

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™