GUI funktioniert (teilweise) nach dem ziehen nicht mehr

  • Hallo!

    Ich habe ein etwas seltsams Problem: Nachdem ich entdeckt habe das man die GUI's auch dynamisch, sprich "ziehen", machen kann, habe ich ein großes Projekt von mir damit ausgestattet.

    Das funktioniert auch so weit sehr gut nur wenn ich das Fenster höher ziehe als es ursprünglich defniert war kann ich teilweise die Bildlaufleiste von einem GUICtrlCreateListView nicht mehr benutzen. Auch die Spaltenbreite läßt sich nicht mehr verändern. Der Mauszeiger ändert auch sein Symbol nicht mehr ;( .

    Mache ich das Fenster wieder kleiner ist alles OK. Andere Button's, Eingabefelder, Kaleder,... sind nicht davon betroffen.

    Meine Defnition sieht so aus:

    Das ist nur ein Auszug...

    Mache ich da etwas falsch beim definieren von dem GUICtrlSetResizing ???

    Das Problem kommt unter AutoIT 3.3.14.0 als auch unter 3.3.15.0 sowohl unter Windows 7 SP1 x64 und Win10 x64

    Bitte um Unterstützung

    lg
    Racer

    • Offizieller Beitrag

    Poste mal ein Beispiel, das auch ausführbar ist. Es fehlen alle Includes und der Compiler kommt nicht mehr aus dem maulen raus.

  • Hallo Raupi!

    Danke für die superschnelle Antwort!

    Ein Beispiel ist etwas schwierig den das Programm hat fast 3000 Zeilen Code ohne Includes...
    soll ich das hier alles posten?

    Ein anders Programm das die GUI auch dynamisch hat (inkl. Listview,...) kommt der Fehler nicht!

    lg
    Racer

  • Ein Beispiel ist etwas schwierig den das Programm hat fast 3000 Zeilen Code ohne Includes...

    soll ich das hier alles posten?

    Bearbeite das Skript:
    - Alle Funktionen die eine Funktionalität der Software bieten machst du einfach leer

    AutoIt
    Func MacheDiesundJenes
    EndFunc MacheDiesundJenes

    - Am Ende bleibt dann deine GUI-Deklaration und deine Hauptschleife über. Alle sonstigen Funktionen einfach "leeren". Dann wird das Skript sicherlich drastisch gekürzt sein und du solltest es bedenkenlos posten können.
    Für meinen Teil ist es egal ob 100 oder 2000 Zeilen Code, wenn es GUI-Deklaration ist kann man das gut überschauen und ggf. auskommentieren.

    Grüße Yaerox

    Grüne Hölle

  • Da kürzen nicht wirklich eine Alternative ist habe ich mein Script gezippt und hier angehängt!

    Es werden ein Haufen includes verwendet die beim AutoiT dabei sind, der Rest ist im Zip-Archiv beigelegt!

    #include <MPDF_UDF.au3> .... von mir Modifiziert da es Bug's gab (im Zip beigelegt)
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <DateTimeConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <array.au3>
    #include <Misc.au3>
    #include <Date.au3>


    #include <Harald.au3> ...im Zip beigelegt
    #include <kassenbuch_func.au3> ...im Zip beigelegt

    Nachtrag: Mir ist aufgefallen das Problem kommt nur wenn ich die Höhe mit der Maus ändere...alles sehr seltsam ;(

    lg
    Racer

  • Einen schönen guten Abend @All!

    Ich habe den Fehler gefunden...bin zwar dabei sicher 2 Jahre gealtertet, aber das Problem ist erledigt :thumbup: !

    Zur Erklärung:

    Ich habe vor dem Erstellen eines ListView ein Label erzeugt. Diese sind nicht besonders gut zu sehen, überhaupt wenn kein Text dort steht!
    Als ich die GUI umgebaut habe so das man sie ziehen kann ist hier ein kleiner Fehler passiert: Das Label hat sich über das Listview "geschoben" und überdeckte dabei den oberen Teil der Spalten - ganz fies ;(

    Fehler:

    AutoIt
    $info_lable = GUICtrlCreateLabel("Info", 5, 0, 1000, 30)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT+$GUI_DOCKRIGHT+$GUI_DOCKTOP+$GUI_DOCKBOTTOM)
    GUICtrlSetFont($info_lable, 12, 800, 0, "MS Sans Serif")
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT+$GUI_DOCKRIGHT+$GUI_DOCKTOP+$GUI_DOCKBOTTOM)
    GUICtrlSetColor ($info_lable, 0x0000ff)

    Richtig:

    AutoIt
    $info_lable = GUICtrlCreateLabel("Info", 5, 0, 1000, 30)
    GUICtrlSetResizing($info_lable, $GUI_DOCKALL)
    GUICtrlSetFont($info_lable, 12, 800, 0, "MS Sans Serif")
    GUICtrlSetColor ($info_lable, 0x0000ff)


    In Zeile 2 steckt das Geheimnis...

    lg
    Racer