GUI á la Windows-Explorer

  • Hi Fachwelt,

    meine letzten Threads beschäftigten sich ziemlich mit dem Thema GUI - und obwohl ich erst seit kurzem AutoItter bin, mache ich doch IMHO mit Eurer Hilfe so meine Fortschritte.

    Nachdem ich jetzt jedoch jede verfügbare AutoIt und UDF-Hilfe, die GUI-Funktionen GUIConstants.au3, das Tutorial sowie die Forumssuche in deutsch und englisch durch habe, finde ich immer noch keine Lösung für mein Problem:

    Ich möchte eine GUI erstellen, die quasi Aussehen und Verhalten des Windows Explorer simuliert, d. h.

    Titelleiste (klar),
    verschiebbare Menüs mit Buttons drauf,
    Linkes Fenster (GUICtrlCreateTreeview & GUICtrlCreateTreeviewItem),
    Rechtes Fenster (Darstellung für irgendetwas)
    Statusbar

    Nun kommen meine Quasi-Anfängerfragen:

    1. Wie erstelle ich diese verschiebbaren Menüs? Leider fällt mir im Moment nicht der richtige Begriff dafür ein, aber ich glaube, man nennt die auch "Buttonleiste"...

    2. Ist im Windows Explorer die Ordneransicht aktiviert, befindet sich zwischen den beiden Fenstern ein nach rechts und links verschiebbarer, schmaler Balken. Wie nennt man den, und wie programmiere ich den in AutoIt? Handelt es sich dabei - ich verstehe das noch nicht so richtig - um die AutoIt-WMI-Simulation?

    Ich hoffe, ihr könnte mir dabei helfen, diese Art der höheren GUI-Programmierung zu erschließen, und mich auf die entsprechenden Dinge hinweisen, die ich hierzu lesen sollte. Ein Hinweis auf ein bereits existentes Script wäre jedoch göttlich. Erarbeiten würde ich es mir dann ohnehin selber, aber mit Vorlage geht's dann doch um einiges leichter.

    Vielen Dank im Voraus einmal wieder.

  • Danke @ Xenobiologist,

    Ich habe mir diesen Thread aus dem englischen Forum komplett angesehen, und mir das Admin-Tool besorgt. Das Admin-Tool von Gary Frost habe ich sorgfältig studiert, und habe sogar das meiste davon verstanden :] - nur nicht, was das mit meiner Frage zu tun haben soll? 8)

    Könntest Du mir bitte auf die virtuellen Beine helfen?

    Ich suche nach einer Möglichkeit, eine Explorer-ähnliche GUI mit

    - einer (oder mehreren) verschiebbaren Button-Leiste(n),
    - und einem Rahmen zwischen den beiden Ctrl für die jeweils rechte und linke Seite der GUI, der sich horizontal verschieben lässt,

    mit AutoIt zu scripten.

    Eine nicht verschiebbare Button-Leiste bekomme ich hin, indem ich mit GuiCtrlCreateButton die Buttons starr auf der GUI plaziere - ich möchte sie jedoch auf einer verschiebbaren Leiste platzieren, die oben in der GUI - so wie beim Windows-Explorer mit eingeschalteten Standardschaltflächen - platziert ist.

    Einen starren Rahmen bekomme ich hin, indem ich zwischen den beiden Ctrl-Elementen Platz lasse, so dass die GUI durchscheint. Dieser horizontal verschiebbare Rahmen scheint jedoch ein eigenes Element zu sein, von dem ich nur nicht weiss, wie ich es mit AutoIt zu Stande bringe.

    Als weiteres Beispiel, wo diese beiden von mir gesuchten Elemente noch vorkommen, fällt mir auf Anhieb nur noch eine Windows-chm-Hilfe-Datei ein.

    Ich befürchte jedoch bereits, dass diese Elemente noch nicht im Sprachumfang vom AutoIt inbegriffen sind. Die MSDN-Library habe ich bereits durchsucht - da ich aber den IT-Namen dieser Elemente nicht kenne, tue ich mich aber auch ein wenig schwer.

    Schaust Du bitte noch einmal?

    2 Mal editiert, zuletzt von Argonaut (3. November 2007 um 14:59)

  • Hallo @ Greenhorn,

    das war's, und das war's gleichzeitig auch wieder nicht. Diese Toolbar ist eine komplett slidende GUI. Kann ich leider so (für mein Konzept) nicht verwenden, obwohl's 'ne nette Sache ist.

    Die Toolbar, die ich meine, wird (bei Bedarf) manuell oder bei einem GUI-Resize automatisch verschoben, und ist Teil der GUI selber.

    Was ich mit AutoIt umsetzen möchte ist (bitte öffnet einmal den Windows Explorer und aktiviert unter Ansicht|Explorerleiste den Punkt "Ordner", sowie unter Ansicht|Symbolleisten den Punkt "Standardschaltflächen"):

    - die verschiebbaren Standardschaltflächen mit Buttons (offizielle Windows-Bezecihnung) und
    - den schmalen "Balken" (Rand, "border" etc.) zwischen dem TreeViewControl und dem ListControl, den ich horizontal verschieben kann, und der gleichzeitig beide Fenster horizontal "resized", wenn er verschoben wird.

    Ich such' mir 'n Wolf, und bezweifle langsam, ob das so mit AutoIt umgesetzt werden kann - oder jemals umgesetzt wurde... Wär schade, wenn (nicht).

    Trotzdem viele Grüße und Danke allen

    • Offizieller Beitrag

    Ich habe es noch nicht gesehen, und glaube nicht, dass es (einfach) geht. Vielleicht mit Objekten, DLLCalls oder der Au3Lib, aber das habe ich nicht überprüft. Vielleicht ist das einer der Punkt, wo man einfach auf eine Hochsprache gehen muss, wenn man es unbedingt braucht...

    Man könnte natürlich versuchen, solches Verhalten mit Labels oder so nachzubilden, aber so wirklich befriedigend ist das wohl nicht, denke ich.

    Tut mir leid, dass ich nichts besseres zu berichten weiß,
    peethebee

  • @ peethebee,

    na ja, da kann man halt nichts machen, ausser C++ oder Delphi lernen. ;) Ich hab mein Prob einmal in's englische Forum eingestellt. Wenn's Antworten darauf gibt, poste ich sie in diesen Thread.

    Dank Euch allen!

  • Sodele,

    eines der von mir gesuchten Elemente konnte ich - mit AutoIt umgesetzt - finden, und zwar im engl. Forum als Teil des Scripts AutoIt Editor von RazerM.

    Hierbei handelt es sich um den vertikalen Balken zwischen den beiden Edit-Controls, der sich auf- und ab verschieben lässt.

    Ich arbeite mich mal durch die drei Listings des Projekts, und schau mal, ob ich das auch horizontal verschiebbar hinkriege.

    Jetzt fehlt mir nur noch 'ne Möglichkeit für die Explorer-Standardschaltflächen - und ich hätte alles, was ich brauche... :party: