Warum funktioniert das GUI nicht?

  • Habe hier ein kleines GUI geschrieben.
    Leider funktioniert es nicht.
    Ich kann nichts anklicken und nichts makieren.

    Frage ist nun: Warum?
    Vll. kann mir ja ein kundiger User helfen.

    MfG
    Alex

  • Moin,

    da ich Deine BMP nicht zur Verfügung habe, folgender Quellcode (ab $Input1 folgend) funktioniert bei mir:
    Edit: QuellCode funktioniert bei mir:

    [autoit]

    #Include <GDIPlus.au3>
    #Include <File.au3>
    #include <GuiConstants.au3>
    #include<ButtonConstants.au3>
    #include<StaticConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <EditConstants.au3>
    #Include <WinAPI.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\localhost\Desktop\Form1.kxf
    $Form1 = GUICreate("Easy Backup V0.1 ~ By L0c4lh0sT ", 686, 438, 189, 112)
    $Label1 = GUICtrlCreateLabel("Pre-ALPHA Version of my Backup Solution. For testing purposes only! Do not sell without my permission!", 0, 0, 728, 51)
    GUICtrlSetFont(-1, 9, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetState(-1, $GUI_DISABLE)
    ;$Pic1 = GUICtrlCreatePic("C:\Dokumente und Einstellungen\All Users\Dokumente\Eigene Bilder\Beispielbilder\Blaue Berge.jpg", -8, 32, 681, 393, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Input1 = GUICtrlCreateInput("Directory 2 Copy", 16, 64, 185, 29)
    $Input2 = GUICtrlCreateInput("Where 2 Store the Backup?", 16, 112, 185, 29)
    $Backup = GUICtrlCreateButton("Backup", 32, 152, 145, 33, 0)
    $OpenFolder = GUICtrlCreateButton("OpenFolder", 32, 200, 145, 33, 0)
    $Exit = GUICtrlCreateButton("Exit", 32, 248, 145, 33, 0)
    $Progress1 = GUICtrlCreateProgress(56, 352, 561, 33)
    $Label2 = GUICtrlCreateLabel("Status", 56, 392, 562, 17)
    GUICtrlSetBkColor(-1, 0xFFFFE1)
    $Button1 = GUICtrlCreateButton("(Not allowed)", 200, 64, 29, 29, $BS_ICON)
    GUICtrlSetImage(-1, "shell32.dll", 0)
    ;GUICtrlSetImage(-1, "C:\Dokumente und Einstellungen\localhost\Desktop\arrow.bmp", 0)
    $Button2 = GUICtrlCreateButton("(Not allowed)", 200, 112, 29, 29, $BS_ICON)
    GUICtrlSetImage(-1, "shell32.dll", 0)
    ;GUICtrlSetImage(-1, "C:\Dokumente und Einstellungen\localhost\Desktop\arrow.bmp", 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $Msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    MsgBox (0,"",$msg)
    Exit
    Case $msg = $Backup
    MsgBox(0,$Backup, "Du hast Backup gedrückt!")
    Case $msg = $OpenFolder
    $change_dir = FileSelectFolder("Where's the folder?", "", 1+2+4, "c\:")
    Case $msg = $Exit
    Exit
    Case $msg = $Button1
    MsgBox (0,"","Button1")
    Case $msg = $Button2
    MsgBox (0,"","Button2")
    EndSelect
    WEnd

    [/autoit]

    für die Buttons Backup, OpenFolder und Exit.

    ;-))

    Stefan

    2 Mal editiert, zuletzt von ojo (9. März 2009 um 10:44)

  • Danke aber das klappt bei mir immernoch nicht.
    Hab es Compiliert als exe und einmal so aus Scite gestartet aber es klappt nicht.
    Ausserdem fehlt mir wenn ich das Compiliere der Button "Open Backup".

    Klickbar ist immer noch nichts und auch den Text der Input Boxen kann ich nicht verändern...

    Sonnst noch ne idee?

  • Moin,
    bei mir funktioniert das prima (s.o. QuellCode editiert).
    Kann Buttons drücken und erhalte entsprechende Reaktion, wie in der Schleife definiert.
    Habe XP SP3 32Bit und AutoIT 3.3.0.0 installiert. Überprüfe mal Deine Version und installier gffs. neu.
    ;-))
    Stefan

  • Habe die selbe version.
    Klappt trotzdem nicht :(

    Naja ich installier mal neu

    Fehler gefunden.
    Das hintergrundbild scheint sich vor die Buttons zu legen (nicht optisch aber technisch) Wenn ich das rausnehme funktioniert es.

    Bloß wie krieg ich das Hintergrundbild in den Hintergrund?

    Einmal editiert, zuletzt von L0c4lh0sT (9. März 2009 um 10:17)

  • Hi,
    ich habe mal aus dem Beispiel für GUICtrlSetImage den Part

    GUICtrlSetImage(-1, "shell32.dll", 0), bzw. GUICtrlSetImage(-1, "shell32.dll", 22)

    übernommen (s. Edit QuellCode oben).

    Bei mir funktionieren die Buttons wie in meiner While Schleife definiert.

    ;-((
    Stefan
    P.S: Bin dann mit meinem Latein am Ende

    • Offizieller Beitrag

    Zitat aus der Hilfe:

    Zitat


    Wird ein Bild als Hintergrundbild genutzt, während die anderen Steuerelemente dieses quasi überlappen, so ist es wichtig, das Bild-Steuerelement zu deaktivieren: GuiCtrlSetState(-1,$GUI_DISABLE). Dies funktioniert aber nicht mit Tab Steuerelementen, die anders arbeiten. In dem Fall muss man das Bild mit dem Stil $WS_CLIPSIBLINGS erstellen, wobei immer noch einige $GUI_ONTOP für die Tab Steuerelemente notwendig sein können.