InputBox() nach vorne bringen

  • Ich habe das Problem, dass sich manchmal ein Fenster vor eine InputBox schiebt. Im Gegensatz zu MsgBox() mit $MB_SETFOREGROUND oder $MB_TOPMOST habe ich keine Parameter dazu gefunden. Wenn es die nicht gibt, Alternative zu InputBox() ?


    Das Gleiche passiert auch bei _ArrayDisplay() - auch da suche ich eine Lösung. Und zusätzlich noch dazu einen OK und CANCEL - Button.

    Mein erstes Programm bestand aus ca. 2.000 Lochkarten und nachdem sie mir das erste mal runtergefallen sind, habe ich die letzten beiden der 80 Byte für eine Numerierung benutzt :rofl:

  • Hallo HansJ54,


    du hast recht: Die InputBox hat keinen Parameter, um sie immer im Vordergrund anzuzeigen.

    Wie man das ganze dennoch realisieren kann, ist hier ganz gut beschrieben: https://www.autoitscript.com/f…1-always-on-top-inputbox/

    (Übrigens erstes Google-Ergebnis zu "autoit inputbox foreground".)


    Wenn man einen der Vorschläge von guinness noch in eine hübsche Funktion auslagert, kann sowas dabei rauskommen:


    Die Verwendung der Funktion _InputBoxOnTop() sollte damit genau so sein wie bei der normalen InputBox. Das zeigen auch die ersten Zeilen im Codebeispiel.


    Viele Grüße

    Xenon

  • alpines Das ist ein guter Hinweis!


    Natürlich könnte man dann stattdessen auch gleich eine eigene temporäre GUI nehmen, dann hat das ganze gar keine Seiteneffekte:


    Allerdings könnte man spätestens dann auch überlegen, ob man nicht in die ohnehin erstellte GUI einfach noch ein Inputfeld einfügt, und den Aufruf von InputBox komplett weglässt. ;)

  • Ich habe hier mal zur Inspiration ein paar Zeilen geschrieben, mit denen einer InputBox und _ArrayDisplay/_DebugArrayDisplay das TopMost-Attribut verpasst werden kann.


    Und zusätzlich noch dazu einen OK und CANCEL - Button.

    Du meinst für _ArrayDisplay? dann schau dir mal _DebugArrayDisplay an...