Spezielles Fensterdesign, Icon, Button und Inputbox vom Windows-eigenen Programm

  • Guten Abend miteinander.
    Ich hab gerade ein neues Windowsprogramm entdeckt, der mich schon stutzig gemacht hat, wie diese Darstellung geht.
    Es geht um den "Mathematik-Eingabebereich" (mip.exe). Meine Frage wäre, ob man so was auch mit AutoIt darstellen kann.

    Hier 2 Bilder, die ich erkläre und nachfrage:

    1

    Farbe Violett: Kann man die .ico Grösse unproportional benutzen?
    Farbe Blau: Gibt es eine UDF für diese Darstellung? (könnte mir vorstellen, dass dies in der WinAPI drin ist...)
    Farbe Rot: Gibt es eine UDF für den Trennstrich und die schwarzen Knöpfe? Kann man die schwarzen Knöpfe auch dort benutzen, wo jetzt "Math. Ausdruck hier einfügen" steht? Wenn ja, wie?
    [Blockierte Grafik: https://dl.dropboxusercontent.com/u/63022667/Aut…/Unbenannt1.png]

    2

    Farbe Orange: Ich hab mal irgendwo eine UDF gesehen, wo in der Inputbox was graues gestanden hatte und wenn man draufklickt, verschwindet es. Wo finde ich diese UDF?
    Farbe Grün (Langer Balken:( Wurde hier die Aero Glass Darstellung verwendet?
    Farbe Grün (Pfeil:( Gibt es eine UDF dafür? :pinch: (immer die selbe Frage :D )
    Farbe Grün (Rechteck:( Kann man es auch so darstellen mit dem Rahmen? Kann man in Buttons Bilder/Icons und Text kombinieren?
    [Blockierte Grafik: https://dl.dropboxusercontent.com/u/63022667/Aut…/Unbenannt2.png]


    Wäre echt toll, wenn man dies mit AutoIt darstellen kann :thumbup:

  • Also ich kann nur was zu dem grauen Text sagen im Input.

    [autoit]

    GUICtrlSendMsg($cInput, $EM_SETCUEBANNER, 0, "Schreib was rein!")

    [/autoit]


    Aber ob das andere geht, würde ich auch gerne mal wissen.

  • Ich hab mal schnell was mit Hilfe dieses Beitrags von Großvater gebastelt.
    Erstmal nur ein Bild der GUI, weil ich grad echt zu müde bin, noch was vorzeigbares zu coden.

    Die GUI kann mit beliebigen Controls "befüllt" werden, ist durch ziehen mit der Maus zu bewegen (alles, was nicht transparent ist, kann zum Bewegen "gegriffen" werden) und hat sogar Schatten :)
    Wem die standard Controls nicht gefallen, kann natürlich auch was mit GDI+ schnitzen 8)

    [Blockierte Grafik: http://i.imgur.com/H5ks9AV.png]

    Die Oberfläche besteht aus einem Teiltransparentem png, das ist mal ganz schnell und dreckig in Paint.net erstellt habe.
    Ist echt hässlich, aber ich denke, man kann sehen, worauf das hinaus läuft...

    Wenn Bedarf besteht, kann ich gerne morgen den aufbereiteten Code posten...

  • Das man mit einer PNG eine eigene GUI machen kann, müsste bbm1995 schon wissen. Er ist ja nun nicht erst seit kurzem hier. Es geht eher darum, dass dort ja der Windows-Style genutzt wird und kein Custom-Style. Und die Frage ist welcher Windows-Style das ist. Deswegen der Verweis auf die WinAPI.

  • Friesel Naja, ist nicht wirklich gerade das, was ich gemeint habe aber es ist schon ganz nah an der Lösung :) Wie ich sehe, wurden dort "Regionen" benutzt.
    Wie jetzt @m-obi schreibt, dass es um den Windows-Style geht, geht es mir eben darum, wie ich diesen Style benutzen kann :)
    Die Hilfe zur WinAPI hab ich mir mal durchgeschaut und hab schon mal einige Funktionen gefunden. (Hab sie aber noch nicht ausprobiert, könnte vielleicht was völlig anderes sein..)

    [autoit]

    _WinAPI_DrawFrameControl($hDC, $ptrRect, $nType, $nState) ;Alle ohne Scriptbeispiel :(
    _WinAPI_DrawEdge($hDC, $ptrRect, $nEdgeType, $grfFlags)
    _WinAPI_FillRect($hDC, $ptrRect, $hBrush) ;ausser das
    _WinAPI_FrameRect($hDC, $ptrRect, $hBrush)

    [/autoit]


    Ich denke, dass man es mit $nState darstellen kann beim _DrawFrameControl.

    Beim Button (Bild 2 unten rechts) könnte es sein, dass ein normaler Button erstellt, aber mit dem Rand abgetrennt wurde.

  • Ich würde ungern wünschen, wenn dieser Thread im Untergrund verschwindet... Kennt jemand eine Lösung für mein Problem?
    Wäre toll, wenn man eigene Fenster so darstellen könnte anstatt diese "0815"-Rechtecks Fenster

  • Ich würde ungern wünschen, wenn dieser Thread im Untergrund verschwindet... Kennt jemand eine Lösung für mein Problem?
    Wäre toll, wenn man eigene Fenster so darstellen könnte anstatt diese "0815"-Rechtecks Fenster


    Da mich das Thema auch interessiert, hab mich gestern nochmal rangesetzt und konnte das Fenster *fast* komplett "emulieren". Ich bin mir mittlerweile ziemlich sicher, dass es sich nicht um einen echten Style handelt, sondern alles von Hand "gebastelt" wurde.
    Warum?
    1. Das Fenster hat keinen Schatten, wie bei GUIs mit WS_POPUP üblich
    2. Fehlende Animation beim Minimieren des Fensters, ebenfalls üblich bei WS_POPUP
    3. Das fehlende Taskbar Icon deutet allerdings auf eine GUI mit dem Ex-Style $WS_EX_TOOLWINDOW hin (Widerspruch zu Punkt 1 und 2?)
    4. Laut AU3Info Tool ist das Fenster sehr viel grösser, als das was man sieht. Das deutet auf eine transparente Child GUI wie in meinem Beispiel hin.
    5. Der abgeschrägte Button unten reagiert auch, wenn man links daneben klickt, was auf eine rechteckige Region hindeutet.
    6. Bei dem Menü dürfte es sich um eine Toolbar handeln, die auf einer weiteren tranparenten Dummy Gui liegt.

    Hier mal ein Screenshot meiner "Nachbildung" inklusive Glasseffekt und Schatten als Bonus:
    [Blockierte Grafik: http://i.imgur.com/x82j0rb.png]
    Das Menü ist noch keine Toolbar, sondern ein Button mir dem Stil "$BS_ICON + $GUI_BKCOLOR_TRANSPARENT" und dem Text als Icon. (hab mal ein bisschen rumprobiert)
    Die Buttons sind schon alle funktionsfähig, aber es fehlt noch der Hover-Effekt.

    Skript folgt, wenn ich fertig bin :whistling:
    ...falls "mein Weg" für dich überhaupt interessant ist ;(

  • Wow, da du es jetzt sagst mit der "Bastelei", hab ich es auch gemerkt :) Sieht recht interessant aus und würde gerne mal deinen "Weg" sehen :thumbup:

  • Thread kann gelöscht werden, hier bekommt man wohl keine Hilfe und Friesel braucht zu lange, bis da mal was kommt. :( Schade eigentlich.


    Hier werden keine Threads gelöscht ;)

    Du kannst ihn aber den Thread-Präfix auf "gelöst" setzen, wenn du willst :D

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • Wo steht eigentlich geschrieben, das hier jeder ein ihm von Gott gegebenes Recht auf konkrete Hilfe hat?

    Das ist ein Forum.... auf freiwilliger Basis eröffnet.... durch freiwillige Helfer mit Leben gefüllt. Wenn es dir nicht passt, das dir hier niemand eine fertige Lösung auf dem Silbertablett präsentiert oder wir dir einfach zu langsam sind, dann frag einfach nichts.

    Jeder hier hat auch ein Privatleben. Wenn du nicht bereit bist das zu akzeptieren, dann heuer dir einen von uns gegen ein kleines Entgelt an. Dann bekommst du sicher auch das, was du erwatest. Dafür gibt es übrigens auch ein passendes Unterforum.

    Nicht den Thread sollte man löschen sondern für diese dummdreiste Aussage deinen Account sperren.

    *** sent from a paranoid nexus 4 with some Tapatalk inside ***

    • Offizieller Beitrag

    +1