Input will einfach nicht Drag & Drop akzeptieren

  • Hi, hab auch schon per SuFu Scripte angeschaut, aber es will trotzdem einfach nicht klappen :(
    Hier mein Scriptausschnitt:

    Spoiler anzeigen
    [autoit]

    Global $GUINeuerEintrag = GUICreate("Test", 841, 929, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_SYSMENU, $WS_CAPTION, $WS_GROUP, $WS_BORDER, $WS_CLIPSIBLINGS, $WS_EX_ACCEPTFILES ))Global
    $InputBildpfad = GUICtrlCreateInput("", 152, 864, 665, 21)

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

    GUICtrlSetState($InputBildpfad, $GUI_ACCEPTFILES)

    [/autoit]


    Bei den anderen Scripts im Forum soll es ja auch geklappt haben, aber wieso bei mir nicht? :S
    Aquaplant

    Einmal editiert, zuletzt von Aquaplant (23. Januar 2010 um 17:12)

  • Es fehlt

    [autoit]

    GUICtrlSetState($InputBildpfad, $GUI_DROPACCEPTED)

    [/autoit]
    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • Hallo Aquaplant,

    hier das Original-Beispiel aus der Hilfe zu GuiCtrlCreateInput:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Local $file, $btn, $msg

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

    GUICreate(" My GUI input acceptfile", 320, 120, @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, -1, 0x00000018); WS_EX_ACCEPTFILES
    $file = GUICtrlCreateInput("", 10, 5, 300, 20)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    GUICtrlCreateInput("", 10, 35, 300, 20) ; will not accept drag&drop files
    $btn = GUICtrlCreateButton("Ok", 40, 75, 60, 20)

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

    GUISetState()

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

    $msg = 0
    While $msg <> $GUI_EVENT_CLOSE
    $msg = GUIGetMsg()
    Select
    Case $msg = $btn
    ExitLoop
    EndSelect
    WEnd

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

    MsgBox(4096, "drag drop file", GUICtrlRead($file))
    EndFunc ;==>Example

    [/autoit]

    mfg (Auto)Bert

  • Achso, in der Hilfe stand bei dem Style, man soll beim state $GUI_ACCEPTFILES verwenden. Dann hat sich das ja geklärt :)
    //Edit: geht aber trotzdem nicht :(

    [autoit]

    Global $InputBildpfad = GUICtrlCreateInput("", 152, 864, 665, 21)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)

    [/autoit]
    • Offizieller Beitrag

    Der Fehler kann überall in deine Script liegen. Erspare uns die raterei und poste dein Script. Oder zumindest ein laufffähiges Beispiel, wenn dein Script "geheim" ist.

  • Hier ist das Script. Habe (fast) alle Label entfernt, weil das sonst zu viel Arbeit gemacht hätte bei jedem den Text reinzuschreiben.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <ListboxConstants.au3>
    #include <EditConstants.au3>
    #include <ProgressConstants.au3>
    #include <UpdownConstants.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <AVIConstants.au3>
    #include <DateTimeConstants.au3>
    #include <TreeviewConstants.au3>
    #include <SliderConstants.au3>
    #include <ListviewConstants.au3>
    #include <GuiListBox.au3>
    #include <Array.au3>
    #include <INet.au3>
    #include <GuiEdit.au3>

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

    #Region ### NEUER EINTRAG
    ;== GUI
    Global $GUINeuerEintrag = GUICreate("NeuerEintrag", 841, 929, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_SYSMENU, $WS_CAPTION, $WS_POPUP, $WS_POPUPWINDOW, $WS_GROUP, $WS_BORDER, $WS_CLIPSIBLINGS, $WS_EX_ACCEPTFILES))
    ;~ GUISetState($GUI_ACCEPTFILES, $GUINeuerEintrag)
    $LabelBildpfad = GUICtrlCreateLabel("Bildpfad", 16, 864, 54, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    Global $InputDName = GUICtrlCreateInput("", 152, 16, 265, 21)
    Global $InputEName = GUICtrlCreateInput("", 152, 40, 265, 21)
    Global $InputLName = GUICtrlCreateInput("", 152, 64, 265, 21)
    Global $InputFName = GUICtrlCreateInput("", 152, 88, 265, 21)
    Global $InputTeilklasse = GUICtrlCreateInput("", 152, 136, 265, 21)
    Global $InputKlasse = GUICtrlCreateInput("", 152, 160, 265, 21)
    Global $InputUnterklasse = GUICtrlCreateInput("", 152, 184, 265, 21)
    Global $InputUberordnung = GUICtrlCreateInput("", 152, 208, 265, 21)
    Global $InputOrdnung = GUICtrlCreateInput("", 152, 232, 265, 21)
    Global $InputUnterordnung = GUICtrlCreateInput("", 152, 256, 265, 21)
    Global $InputUberfamilie = GUICtrlCreateInput("", 152, 280, 265, 21)
    Global $InputFamilie = GUICtrlCreateInput("", 152, 304, 265, 21)
    Global $InputUnterfamilie = GUICtrlCreateInput("", 152, 328, 265, 21)
    Global $InputUberstamm = GUICtrlCreateInput("", 152, 352, 265, 21)
    Global $InputStamm = GUICtrlCreateInput("", 152, 376, 265, 21)
    Global $InputUnterstamm = GUICtrlCreateInput("", 152, 400, 265, 21)
    Global $InputUberabteilung = GUICtrlCreateInput("", 152, 424, 265, 21)
    Global $InputAbteilung = GUICtrlCreateInput("", 152, 448, 265, 21)
    Global $InputUnterabteilung = GUICtrlCreateInput("", 152, 472, 265, 21)
    Global $InputReich = GUICtrlCreateInput("", 152, 496, 265, 21)
    Global $InputKlassifikation = GUICtrlCreateInput("", 152, 520, 265, 21)
    Global $InputDomane = GUICtrlCreateInput("", 152, 544, 265, 21)
    Global $InputReihe = GUICtrlCreateInput("", 152, 568, 265, 21)
    Global $InputOhneRangI = GUICtrlCreateInput("", 152, 592, 265, 21)
    Global $InputOhneRangII = GUICtrlCreateInput("", 152, 616, 265, 21)
    Global $InputOhneRangIII = GUICtrlCreateInput("", 152, 640, 265, 21)
    Global $InputGattung = GUICtrlCreateInput("", 152, 664, 265, 21)
    Global $InputArt = GUICtrlCreateInput("", 152, 688, 265, 21)
    Global $InputWName = GUICtrlCreateInput("", 152, 728, 265, 21)
    Global $InputFressfeind = GUICtrlCreateInput("", 152, 768, 665, 21)
    Global $InputNahrung = GUICtrlCreateInput("", 152, 800, 665, 21)
    Global $InputWichtig = GUICtrlCreateInput("", 152, 832, 665, 21)
    Global $InputBildpfad = GUICtrlCreateInput("", 152, 864, 665, 21)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    Global $EditBeschreibung = GUICtrlCreateEdit("", 432, 32, 393, 713, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN, $WS_VSCROLL, $WS_BORDER))
    GUICtrlSetData(-1, "")
    ;== Buttons
    Global $ButtonSpeichern = GUICtrlCreateButton("Speichern", 680, 896, 97, 25, 0)
    ;== Checkboxen
    Global $CheckboxEnglisch = GUICtrlCreateRadio("In English", 256, 896, 81, 17)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    Global $CheckboxDeutsch = GUICtrlCreateRadio("In Deutsch", 344, 896, 89, 17)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    Global $CheckboxFranzosisch = GUICtrlCreateRadio("Dans francais", 440, 896, 105, 17)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    ;== Gruppen
    $Group2 = GUICtrlCreateGroup("", 8, 120, 417, 601)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("", 8, 752, 825, 137)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group1 = GUICtrlCreateGroup("", 8, 0, 417, 121)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUISetState(@SW_SHOW)
    ;== SetState
    _NeuerEintrag()

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

    Func _NeuerEintrag()
    Global $Exitloop = 1
    While $Exitloop = 1
    Global $GUINeuerEintragMSG = GUIGetMsg()
    Switch $GUINeuerEintragMSG
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $GUINeuerEintrag)
    ExitLoop
    EndSwitch
    WEnd
    EndFunc ;==>_NeuerEintrag

    [/autoit]
    • Offizieller Beitrag
    Spoiler anzeigen
    [autoit]

    #include <DateTimeConstants.au3>
    #include <TreeviewConstants.au3>
    #include <SliderConstants.au3>
    #include <ListviewConstants.au3>
    #include <GuiListBox.au3>
    #include <Array.au3>
    #include <INet.au3>
    #include <GuiEdit.au3>

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

    #Region ### NEUER EINTRAG
    ;== GUI
    Global $GUINeuerEintrag = GUICreate("NeuerEintrag", 841, 929, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_SYSMENU, $WS_CAPTION, $WS_POPUP, $WS_POPUPWINDOW, $WS_GROUP, $WS_BORDER, $WS_CLIPSIBLINGS), $WS_EX_ACCEPTFILES)
    ;~ GUISetState($GUI_ACCEPTFILES, $GUINeuerEintrag)
    $LabelBildpfad = GUICtrlCreateLabel("Bildpfad", 16, 864, 54, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    Global $InputDName = GUICtrlCreateInput("", 152, 16, 265, 21)
    Global $InputEName = GUICtrlCreateInput("", 152, 40, 265, 21)
    Global $InputLName = GUICtrlCreateInput("", 152, 64, 265, 21)
    Global $InputFName = GUICtrlCreateInput("", 152, 88, 265, 21)
    Global $InputTeilklasse = GUICtrlCreateInput("", 152, 136, 265, 21)
    Global $InputKlasse = GUICtrlCreateInput("", 152, 160, 265, 21)
    Global $InputUnterklasse = GUICtrlCreateInput("", 152, 184, 265, 21)
    Global $InputUberordnung = GUICtrlCreateInput("", 152, 208, 265, 21)
    Global $InputOrdnung = GUICtrlCreateInput("", 152, 232, 265, 21)
    Global $InputUnterordnung = GUICtrlCreateInput("", 152, 256, 265, 21)
    Global $InputUberfamilie = GUICtrlCreateInput("", 152, 280, 265, 21)
    Global $InputFamilie = GUICtrlCreateInput("", 152, 304, 265, 21)
    Global $InputUnterfamilie = GUICtrlCreateInput("", 152, 328, 265, 21)
    Global $InputUberstamm = GUICtrlCreateInput("", 152, 352, 265, 21)
    Global $InputStamm = GUICtrlCreateInput("", 152, 376, 265, 21)
    Global $InputUnterstamm = GUICtrlCreateInput("", 152, 400, 265, 21)
    Global $InputUberabteilung = GUICtrlCreateInput("", 152, 424, 265, 21)
    Global $InputAbteilung = GUICtrlCreateInput("", 152, 448, 265, 21)
    Global $InputUnterabteilung = GUICtrlCreateInput("", 152, 472, 265, 21)
    Global $InputReich = GUICtrlCreateInput("", 152, 496, 265, 21)
    Global $InputKlassifikation = GUICtrlCreateInput("", 152, 520, 265, 21)
    Global $InputDomane = GUICtrlCreateInput("", 152, 544, 265, 21)
    Global $InputReihe = GUICtrlCreateInput("", 152, 568, 265, 21)
    Global $InputOhneRangI = GUICtrlCreateInput("", 152, 592, 265, 21)
    Global $InputOhneRangII = GUICtrlCreateInput("", 152, 616, 265, 21)
    Global $InputOhneRangIII = GUICtrlCreateInput("", 152, 640, 265, 21)
    Global $InputGattung = GUICtrlCreateInput("", 152, 664, 265, 21)
    Global $InputArt = GUICtrlCreateInput("", 152, 688, 265, 21)
    Global $InputWName = GUICtrlCreateInput("", 152, 728, 265, 21)
    Global $InputFressfeind = GUICtrlCreateInput("", 152, 768, 665, 21)
    Global $InputNahrung = GUICtrlCreateInput("", 152, 800, 665, 21)
    Global $InputWichtig = GUICtrlCreateInput("", 152, 832, 665, 21)
    Global $InputBildpfad = GUICtrlCreateInput("", 152, 864, 665, 21)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    Global $EditBeschreibung = GUICtrlCreateEdit("", 432, 32, 393, 713, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN, $WS_VSCROLL, $WS_BORDER))
    GUICtrlSetData(-1, "")
    ;== Buttons
    Global $ButtonSpeichern = GUICtrlCreateButton("Speichern", 680, 896, 97, 25, 0)
    ;== Checkboxen
    Global $CheckboxEnglisch = GUICtrlCreateRadio("In English", 256, 896, 81, 17)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    Global $CheckboxDeutsch = GUICtrlCreateRadio("In Deutsch", 344, 896, 89, 17)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    Global $CheckboxFranzosisch = GUICtrlCreateRadio("Dans francais", 440, 896, 105, 17)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    ;== Gruppen
    $Group2 = GUICtrlCreateGroup("", 8, 120, 417, 601)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("", 8, 752, 825, 137)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group1 = GUICtrlCreateGroup("", 8, 0, 417, 121)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUISetState(@SW_SHOW)
    ;== SetState
    _NeuerEintrag()

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

    Func _NeuerEintrag()
    Global $Exitloop = 1
    While $Exitloop = 1
    Global $GUINeuerEintragMSG = GUIGetMsg()
    Switch $GUINeuerEintragMSG
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $GUINeuerEintrag)
    ExitLoop
    EndSwitch
    WEnd
    EndFunc ;==>_NeuerEintrag

    [/autoit]

    $WS_EX_ACCEPTFILES ist ein ExtendedStyle