buttons weg

  • hallo, habe 2 probs...

    zum einem wollte ich fragen, wodurch dieser effekt zustande kommt, bzw wie man abhilfe dagegen schaffen kann. blende das fenster immer per dllcall ein und aus.

    desweiteren verschwinden die buttons, wenn ich das fertig kompilierte script nutze. wenn ich das tool aus scite starte, sind die buttons immer da ... woran kann das liegen?

    • Offizieller Beitrag

    Hallo,

    bitte mal den Code bereitstellen!

  • so, ich habe noch was was rumprobiert. es gab verschiedene probs, von fileinstall, über irgednwas bis zu nem progressgui.

    bis auf 1 fehler habe ich nun alles ausgemerzt, und zumindest den einen fehler lokalisiert. er liegt genau hier

    Spoiler anzeigen
    [autoit]


    ;"script-läuft"-anzeige
    If $notify = "1" Then
    $ProgressGui = GUICreate( "", 200, 30, -1, -1, $WS_POPUP + $WS_DLGFRAME + $WS_VISIBLE + $DS_SETFOREGROUND, $WS_EX_TOPMOST)
    $Progress = GUICtrlCreateProgress( 1, 20, 200, 10)
    GUICtrlSetStyle( -1, $PBS_MARQUEE)
    GUICtrlCreateLabel("Starter is working ...", 55, 1, 120, 18)
    GUISetState(@SW_SHOW)
    _GUICtrlProgressSetMarquee($Progress)
    Else
    EndIf

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

    ....
    .......
    ..........

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

    ;"script fertig"-meldung
    If $notify = "2" Then
    If $info = 1 Then
    ProcessWaitClose("HDInfoCheck.exe")
    SplashTextOn("", $script & " is ready now", 250, 30, -1, -1, 0 + 1 + 32, "", "", 1000)
    Sleep(3000)
    SplashOff()
    Else
    SplashTextOn("", $script & " is ready now", 250, 30, -1, -1, 0 + 1 + 32, "", "", 1000)
    Sleep(8000)
    SplashOff()
    EndIf
    ElseIf $notify = "1" Then
    If $info = 1 Then
    ProcessWaitClose("HDInfoCheck.exe")
    Else
    Sleep(5000)
    EndIf
    GUIDelete($ProgressGui)
    Else
    EndIf

    [/autoit]

    und zwar an diesem progressgui. denn wenn ich den weglasse, und zb auch durch einen spashtexton ersetzte, sind die buttons korrekt. aber was stimmt hier nicht?

    PS: hab jetzt mal im code das "menu" vor die buttons gesetzt, dann geht alles ohne probleme

    [autoit]

    ;erstelle hauptfenster
    $gui = GUICreate($script & " V3", 400, 300, -1, -1, -1, $WS_EX_ACCEPTFILES)
    $menu = GUICtrlCreateMenu("&More")
    $infos = GUICtrlCreateMenuitem("&Info", $menu)
    $about = GUICtrlCreateMenuitem("&About", $menu)
    $ok = GUICtrlCreateButton("&OK", 40, 251, 70, -1, $BS_DEFPUSHBUTTON )
    GUICtrlSetTip($ok, "Saves your current settings in an *.ini-file")
    $cancel = GUICtrlCreateButton("&Cancel", 290, 251, 70)
    If $flag = True Then GUICtrlSetTip($cancel, "This button only hides your settings")
    $label = GUICtrlCreateLabel("© daniel von pluto", 160, 260)
    GUICtrlSetColor(-1, 0x9E9E9E)
    GUICtrlSetFont($label, 7)

    [/autoit]

    aber weiss wer, warum beim einblenden des GUI die einträge alle so schwarz werden?
    das fenster ist nicht transparent, sondern wird nur mit dem effekt ein/ausgeblendet:
    DllCall ( "user32.dll", "int", "AnimateWindow", "hwnd", $gui, "int", 2000, "long", 0x00080000)

  • Hast Du schon bei anderen progs das einblenden über die DLL probiert? Wenn das Ergebnis immer so ist ist es vielleicht ein Problem mit der DLL.
    Vielleicht sind die Balken auch Platzhalter und Du musst die Schriftzüge irgendwie extra einblenden.
    Genaueres kann man eigentlich nur sagen, wenn man zufällig die komplette DLL bzw. Funktionen daraus offen vorliegen hat.