2 Monitore Problem

  • Hallo,

    ich habe folgendes Problem:

    Ich habe eine Gui auf meinem großen Monitor.
    Wenn ich auf einen Button klicke geht eine InputBox auf.
    Die InputBox geht aber auf dem kleinen Monitor auf.

    Gibt es da einen Befehl, der je nachdem auf welchem
    Monitor die Anwendung läuft auch alle Fenster aufgehen?

    Das Arbeiten ist so fast unmöglich
    (Wie bei einem Tennisspiel...) :(

    Hoffe daß es da was gibt!

    Liebe Grüße
    Ilse ;)

    Einmal editiert, zuletzt von Ilse (7. November 2011 um 20:47)

  • Die Inputbox wird ja, jedenfalls so wie Du es beschreibst, in einer neuen GUI erzeugt werden.

    Du müsstest Dir also nur mit WinGetPos() die Daten des Hauptfensters holen und als Position für das neue GUICreate() verwenden.

    Oder ich hab es falsch verstanden, denn ohne Besipiel-Quellcode kann man immer nur raten !!!

    Edit: Ich sehe schon, schlecht lesen kann ich gut ! Du schriebst Inputbox !

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    Einmal editiert, zuletzt von Micha_he (7. November 2011 um 15:56)

  • Hallo,

    also die Inputbox sieht so aus
    Sorry, es ist keine neue Gui!
    Die Inputbox ist nur ganu oben! (Handle)

    [autoit]


    $Gui = GUICreate("Main", 407, 147, 192, 132); die Main Gui diese Startet mit dem Button die Inputbox!
    $Input = InputBox("Info", "Bitte Info eintragen", "", "", -1, "150", default,"15",default, $gui); Im Vordergrund

    [/autoit]

    Abgesehen davon daß man etwas am System ändert...
    Gibt es da keine Lösung, daß man die Koordinaten (je nachdem
    auf welchem Monitor das Script gestartet wurde) einsetzen kann?

    ;) Ilse

  • Gib doch der Funktion InputBox() mit Parameter 7 & 8 Koordinaten Deiner GUI mit !
    Da "poppt" die InputBox immer relativ zur GUI auf.

    z.B. so:

    [autoit]

    $top=132
    $left=192
    $Gui = GUICreate("Main", 407, 147, $left, $top); die Main Gui diese Startet mit dem Button die Inputbox!
    $Input = InputBox("Info", "Bitte Info eintragen", "", "", -1, "150", $left + 20, $top + 20,default, $gui); Im Vordergrund

    [/autoit]

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Hallo Micha_he ,

    mußte leider wieder los.

    So, habe ich probiert aber das geht leider nicht!

    1. Ich starte die Gui!
    die erscheint auf dem linken kleinen Monitor!

    2. Ich ziehe die Gui rüber auf den 2. Monitor (Großer Monitor)
    dann klicke ich den Button und die Inputbox erscheint auf dem linken Monitor!

    [autoit]


    $top=132
    $left=192
    $Gui = GUICreate("Main", 407, 147, $left, $top); die Main Gui diese Startet mit dem Button die Inputbox!
    $Input = InputBox("Info", "Bitte Info eintragen", "", "", -1, "150", $left + 20, $top + 20,default, $gui); Im Vordergrund

    [/autoit]

    Muß da nicht noch was rein?

    Opt ... oder so? ?(

    ;) Ilse

  • Hallo Oscar,

    hier mal der kpl. Code

    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    $top=132
    $left=192

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

    $Gui = GUICreate("Info", 407, 147, $left, $top)
    ;$Gui = GUICreate("Info", 407, 147, 934, 432)
    $btnStart = GUICtrlCreateButton("Start", 24, 16, 163, 73)
    $btnStop = GUICtrlCreateButton("Stop", 216, 16, 163, 73)
    $Zeit = GUICtrlCreateInput("3", 144, 96, 41, 32, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Label1 = GUICtrlCreateLabel("Sekunden", 72, 104, 65, 20)
    $gelesen = GUICtrlCreateInput("", 296, 104, 81, 24)
    $Label2 = GUICtrlCreateLabel("markiere als", 216, 104, 78, 20)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $btnStart
    _Anzeigen()
    Case $btnStop
    EndSwitch
    WEnd

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

    Func _Anzeigen()
    $Input = InputBox("Info", "Bitte Info eintragen", "", "", -1, "150", $left + 20, $top + 20,default,$gui)

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

    endfunc

    [/autoit]

    Die Inputbox erscheint immer links!

    ;) Ilse

    Einmal editiert, zuletzt von Ilse (7. November 2011 um 19:26)

  • Hallo,

    dank euch mal wieder.
    Hab's geschafft mit WinGetPos

    für alle

    [autoit]


    Case $btnStart
    $size = WinGetPos("[active]")
    MsgBox(0, "Die Koordinaten des aktuellen Fensters lauten (x, y, Breite, Höhe):", $size[0] & " " & $size[1] & " " & $size[2] & " " & $size[3])

    [/autoit]

    und bei der Inputbox

    [autoit]


    $Input = InputBox("Info", "Bitte Info eintragen", "", "", -1, "150", $size[0] + 20, $top + 20,default,$gui)

    [/autoit]

    Liebe Grüße
    Ilse ;)