Arbeitsfenster

  • Hallo.

    Da ich ja das ganze Wochenende fast nur gelegen habe, habe ich mir viele Gedanken gemacht.

    Ich habe folgendes GUI erstellt:

    Spoiler anzeigen
    [autoit]

    #region --- GuiBuilder code Start ---
    ; Script generated by AutoBuilder 0.6 Prototype

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

    #include <GuiConstants.au3>

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

    GuiCreate("MyGUI", 892, 537,-1, -1 , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))

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

    $Group_1 = GuiCtrlCreateGroup("Arbeitsfenster", 210, 50, 670, 470)
    $Button_2 = GuiCtrlCreateButton("Button 1", 210, 10, 60, 30)
    $Button_3 = GuiCtrlCreateButton("Button 2", 280, 10, 60, 30)
    $Button_4 = GuiCtrlCreateButton("Button 3", 350, 10, 60, 30)

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

    GuiSetState()
    While 1
    $msg = GuiGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case Else
    ;;;
    EndSelect
    WEnd
    Exit
    #endregion --- GuiBuilder generated code End ---

    [/autoit]

    .

    Meine Frage ist nun:
    Wie mache ich es, wenn ich auf einen der Buttons drücke, das im Arbeitsfenster das Programm aufrufen lasse.
    Die Ordnerstruktur ist
    C:\Autoit\offen\Guitest\programme\salen.exe (Button1)
    C:\Autoit\offen\Guitest\progamme\barenter.exe (Button 2)
    C:\Autoit\offen\Guitest\progamme\brinx.exe (Button 3)
    C:\Autoit\offen\Guitest\gut_test.au3 (das soll die Oberfläche werden)

    Ich möchte mich schon jetzt bedanken für eventuelle Lösungsmöglichkeiten.

    Wenn ich das fertig habe, möchte ich es später im Vollbild darstellen lassen.

    LG, eine sonnige Woche und morgen einen schönen 1. Mai.

    Die Lina ;)

    Edit bernd670: Hab (mal wieder ;-)) die AutoIt-Tags eingetragen :kiss:

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    Einmal editiert, zuletzt von Alina (30. April 2007 um 13:17)

  • Hallo BugFix & Oliver.

    erst einmal DANKE für die Antworten.

    Es sind kleine Programme die mit AutoIT erstellt wurden.

    Zwei Buttons sollen dann noch eingefügt werden, wo dann Texte Stehen.

    Ich möchte nur, das die Programm da starten, wo ich im GUI geschrieben habe "Arbeitsfenster". Bei html wäre es ein öffnen im Frame "Arbeitsfenster". (sorry, html-geschädigt !!!)

    Mit dem ShellExecuteWait() arbeite ich später ja auch noch, aber die Buttons bekomme ich ja hin. Nur halt nicht, das diese drei Programm in Arbeitsfenster erscheinen.

    Hintergrund ist, das ich mit dieser drei Programmen viel arbeite und das viele weitere Programme (später vielleicht 15) nach und nach dazu kommen. Ich möchte, wenn ich mit den Programmen im Arbeitsfenster arbeite, das ich dann nicht groß hin und her klicken muß um andere Sachen aufzurufen, sondern eine Arbeit "Aktive Arbeitsoberfläche" habe.

    LG Lina

    P. S. an BugFix: Dein Satz in der Fußzeile ist einfach genial. Trifft man sich also bei der Kindergeldstelle? :schild4:

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    Einmal editiert, zuletzt von Alina (30. April 2007 um 14:03)

  • also nach frames wie in html wirst du vergeblich suchen... du kannst programme als neue gui starten aber nich auf knopfdruck einbinden (bitte nich schlagen wenn doch - aber müsst mich schon schwer täuschen - das einzigste was eventuell funktionieren würde - darum hab ich gefragt obs konsolenprogramme sind - die wie in ner art dos-box abzufangen - im prinzip nurn formatiertes edit-feld und dann über nen stream eingefügt...)

    ok...

    MEINE EMPFEHLUNG:

    arbeite mit tabs und tabitems in denen du deine eingabemasken usw. für die anderen programme reinhackerst - also das macht in meinen augen am meisten sinn!

    hier noch das beispiel für tabs/tabitems

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>

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

    GUICreate("My GUI Tab") ; will create a dialog box that when displayed is centered

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

    GUISetBkColor(0x00E0FFFF)
    GUISetFont(9, 300)

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

    $tab=GUICtrlCreateTab (10,10, 200,100)

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

    $tab0=GUICtrlCreateTabitem ("tab0")
    GUICtrlCreateLabel ("label0", 30,80,50,20)
    $tab0OK=GUICtrlCreateButton ("OK0", 20,50,50,20)
    $tab0input=GUICtrlCreateInput ("default", 80,50,70,20)

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

    $tab1=GUICtrlCreateTabitem ( "tab----1")
    GUICtrlCreateLabel ("label1", 30,80,50,20)
    $tab1combo=GUICtrlCreateCombo ("", 20,50,60,120)
    GUICtrlSetData(-1,"Trids|CyberSlug|Larry|Jon|Tylo", "Jon") ; default Jon
    $tab1OK=GUICtrlCreateButton ("OK1", 80,50,50,20)

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

    $tab2=GUICtrlCreateTabitem ("tab2")
    GUICtrlSetState(-1,$GUI_SHOW) ; will be display first
    GUICtrlCreateLabel ("label2", 30,80,50,20)
    $tab2OK=GUICtrlCreateButton ("OK2", 140,50,50)

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

    GUICtrlCreateTabitem ("") ; end tabitem definition

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

    GUICtrlCreateLabel ("label3", 20,130,50,20)

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

    GUISetState ()

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

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg()

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    Wend

    [/autoit]

    :keks:

  • Hi,
    vielwicht ist es ja das was du suchst.

    [autoit]


    Case $Button1
    ShellExecute ( "salen.exe","","C:\Autoit\offen\Guitest\programme\")

    [/autoit]

    oder ShellExecuteit wenn dein Prog warten soll bis der Aufruf wieder bendet wurde.

    MfG
    Der_Doc

  • Hallo ihr beiden.

    Da es wohl nicht möglich ist, ein Programm in einem internen GUI laufen zu lassen, werde ich mal die Lösung versuchen anders zu erstellen.

    Dennoch ganz lieben Dank.

    LG Lina

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Hi,
    sorry net genug gelesen.
    Also wie das mit einem Prog geht weis ich net, aber der IE wäre kein Problem.
    #include <IE.au3>
    _IECreateEmbedded ( )

    Solltest also mal na Embedded suchen.

    MfG
    Der_Doc

  • Hallo.

    Ich gebe mal hier ein Bild, wie ich es mir vorstelle. Statt dem "WinDoof-Zahlenmüscher" naklar ein PROGRAMM ;)

    Drückt man einen Button, startet das programm im Fenster "Arbeitsfenster".

    Mal sehen ob es einer hin bekommt.

    Liebe Grüße,

    Lina

    Dateien

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    Einmal editiert, zuletzt von Alina (30. April 2007 um 17:55)

  • Alina dürfen die Fenster übereinander stehen?
    Sag mir bitte die 3 Titel von den Programmen dann schreib ich es dir schnell.

  • schick mir bitte die gui die du erstellst arbeistfenster etc damit ich nach deiner auflösung arbeite...

  • Hallo Tam0r.

    Habe es Dir als Email zugesendet.

    LG Lina

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • So ich habs soweit das wenn du das Fenster bewegst sich die Fenster mitwegen. unten was grün ist, da baue ich gerade ein das wenn du ein Fenster auserhalb des Arbeitsfeldes hinaus bewegst wieder zürück springt :) das dauert aber noch :P Probiert mal Shellexute muss du deine hernehmen und bei einem glaube ich Titel anpassen.


    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    Opt("WinTitleMatchMode", 2)
    ; Simple example: Embedding an Internet Explorer Object inside an AutoIt GUI
    ;
    ; The full example is available in the test\ActiveX directory
    ;(TestXInternet.au3)
    ;
    ; See also:
    ;http://msdn.microsoft.com/workshop/brows…netexplorer.asp

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

    $oIE = ObjCreate("Shell.Explorer.2")

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

    ; Create a simple GUI for our output
    GUICreate ( "Web und Programme starten", 1152, 864, 10, 10)
    $GUIActiveX = GUICtrlCreateObj ( $oIE, 10, 10 , 1132 , 794 )
    $GUI_Button_1 = GuiCtrlCreateButton ( "Salen", 10, 824, 100, 30)
    $GUI_Button_2 = GuiCtrlCreateButton ( "Barenter", 130, 824, 100, 30)
    $GUI_Button_3 = GuiCtrlCreateButton ( "Brinx", 250, 824, 100, 30)
    $GUI_Button_4 = GuiCtrlCreateButton ( "Timoran", 370, 824, 100, 30)
    $GUI_Button_5 = GuiCtrlCreateButton ( "Ende" , 490, 824, 100, 30)

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

    $PositionMain = ""
    Dim $PositionMainAlt[5]
    Dim $PositionMainAltSalen[5]
    ;~ Dim $PositionSalen[5]
    Dim $PositionMainAltBarenter[5]
    Dim $PositionMainAltBrinx[5]
    Dim $PositionMainAltTimoran[5]

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

    $PositionMainAlt[0] = ""
    $PositionMainAlt[1] = ""

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

    $PositionMainAltSalen[0] = ""
    ;~ $PositionSalen[0] = ""
    $PositionMainAltSalen[1] = ""
    ;~ $PositionSalen[1] = ""

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

    $PositionMainAltBarenter[0] = ""
    $PositionMainAltBarenter[1] = ""

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

    $PositionMainAltBrinx[0] = ""
    $PositionMainAltBrinx[1] = ""

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

    $PositionMainAltTimoran[0] = ""
    $PositionMainAltTimoran[1] = ""

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

    GUISetState () ;Show GUI

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

    ;~ $oIE.navigate("http://www.autoit.de")

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

    ; Waiting for user to close the window
    While 1
    $msg = GUIGetMsg()

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

    Select
    Case $msg = $GUI_EVENT_CLOSE
    _Exit()
    Case $msg = $GUIActiveX
    $oIE.navigate("http://www.autoit.de")
    Case $msg = $GUI_Button_1
    ;~ ShellExecute ( "C:\Autoit\offen\Guitest\programme\salen.exe","","C:\")
    ShellExecute ( @ScriptDir&"\salen.exe","","C:\")
    Sleep (200)
    WinSetOnTop ( "Salen","",1)
    Case $msg = $GUI_Button_2
    ;~ ShellExecute ( "C:\Autoit\offen\Guitest\progamme\barenter.exe","","C:\")
    ShellExecute ( @ScriptDir&"\barenter.exe","","C:\")
    Sleep (200)
    WinSetOnTop ( "Barenter","",1)
    Case $msg = $GUI_Button_3
    ;~ ShellExecute ( "C:\Autoit\offen\Guitest\progamme\brinx.exe","","C:\")
    ShellExecute ( @ScriptDir&"\brinx.exe","","C:\")
    Sleep (200)
    WinSetOnTop ( "Brinx","",1)
    Case $msg = $GUI_Button_4
    ;~ ShellExecute ( "C:\Autoit\offen\Guitest\progamme\timoran.exe","","C:\")
    ShellExecute ( @ScriptDir&"\timoran.exe","C:\")
    Sleep (200)
    WinSetOnTop ( "Timoran","",1)
    Case $msg = $GUI_Button_5
    _Exit()
    EndSelect
    $PositionMain = WinGetPos ( "Web und Programme starten")
    If $PositionMain[0] <> $PositionMainAlt[0] or $PositionMain[1] <> $PositionMainAlt[1] Then
    If $PositionMain[0] <= $PositionMainAlt[0] Then
    $VerschiebungX = $PositionMainAlt[0] - $PositionMain[0]
    $RichtungX = "-"
    ElseIf $PositionMain[0] >= $PositionMainAlt[0] Then
    $VerschiebungX = $PositionMain[0] - $PositionMainAlt[0]
    $RichtungX = "+"
    Else
    $VerschiebungX = 0
    $RichtungX = "-"

    EndIf

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

    If $PositionMain[1] <= $PositionMainAlt[1] Then
    $VerschiebungY = $PositionMainAlt[1] - $PositionMain[1]
    $RichtungY = "-"

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

    Elseif $PositionMain[1] >= $PositionMainAlt[1] Then
    $VerschiebungY = $PositionMain[1] - $PositionMainAlt[1]
    $RichtungY = "+"
    Else
    $VerschiebungY = 0
    $RichtungY = "+"
    EndIf

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

    $PositionSalen = WinGetPos ( "Salen")
    $PositionBarenter = WinGetPos ( "Barenter")
    $PositionBrinx = WinGetPos ( "Brinx")
    $PositionTimoran = WinGetPos ( "Timoran")

    if $PositionSalen = 0 Then
    Else
    If $RichtungX = "-" Then
    $newposX = $PositionSalen[0] - $VerschiebungX
    Else
    $newposX = $PositionSalen[0] + $VerschiebungX
    EndIf

    If $RichtungY = "-" Then
    $newposY = $PositionSalen[1] - $VerschiebungY
    Else
    $newposY = $PositionSalen[1] + $VerschiebungY
    EndIf

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

    WinMove ( "Salen", "", $newposX,$newposY)
    EndIf


    if $PositionBarenter = 0 Then
    Else
    If $RichtungX = "-" Then
    $newposX = $PositionBarenter[0] - $VerschiebungX
    Else
    $newposX = $PositionBarenter[0] + $VerschiebungX
    EndIf

    If $RichtungY = "-" Then
    $newposY = $PositionBarenter[1] - $VerschiebungY
    Else
    $newposY = $PositionBarenter[1] + $VerschiebungY
    EndIf

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

    WinMove ( "Barenter", "", $newposX,$newposY)
    EndIf

    if $PositionBrinx = 0 Then
    Else
    If $RichtungX = "-" Then
    $newposX = $PositionBrinx[0] - $VerschiebungX
    Else
    $newposX = $PositionBrinx[0] + $VerschiebungX
    EndIf

    If $RichtungY = "-" Then
    $newposY = $PositionBrinx[1] - $VerschiebungY
    Else
    $newposY = $PositionBrinx[1] + $VerschiebungY
    EndIf

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

    WinMove ( "Brinx", "", $newposX,$newposY)
    EndIf

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

    if $PositionTimoran = 0 Then
    Else
    If $RichtungX = "-" Then
    $newposX = $PositionTimoran[0] - $VerschiebungX
    Else
    $newposX = $PositionTimoran[0] + $VerschiebungX
    EndIf

    If $RichtungY = "-" Then
    $newposY = $PositionTimoran[1] - $VerschiebungY
    Else
    $newposY = $PositionTimoran[1] + $VerschiebungY
    EndIf

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

    WinMove ( "Timoran", "", $newposX,$newposY)
    EndIf

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

    $PositionMainAlt[0] = $PositionMain[0]
    $PositionMainAlt[1] = $PositionMain[1]


    Else
    EndIf

    ;~ $PositionSalen = WinGetPos ( "Salen")
    ;~ $PositionBarenter = WinGetPos ( "Barenter")
    ;~ $PositionBrinx = WinGetPos ( "Brinx")
    ;~ $PositionTimoran = WinGetPos ( "Timoran")
    ;~ $PositionMain = WinGetPos ( "Web und Programme starten")
    ;~
    ;~ if $PositionSalen = 0 Then
    ;~ Else

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

    ;~ If $PositionSalen[0]+ $PositionSalen[2] >= $PositionMain[0] + 1142 - $PositionSalen[2] Then
    ;~ WinMove ( "Salen", "", $PositionMainAltSalen[0],$PositionMainAltSalen[1])
    ;~ $PositionSalen = WinGetPos ( "Salen")

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

    ;~ ElseIf $PositionSalen[1]+ $PositionSalen[3] >= $PositionMainAlt[1] + 854 + $PositionSalen[3] Then
    ;~ WinMove ( "Salen", "", $PositionMainAltSalen[0],$PositionMainAltSalen[1])
    ;~ $PositionSalen = WinGetPos ( "Salen")

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

    ;~ EndIf
    ;~ ToolTip ("PSNX:"&$PositionSalen[0] & @CRLF & "MaxX:"&$PositionMain[0] + 1142& @CRLF &"PSNy:"& $PositionSalen[1] & @CRLF & "MaxY:"&$PositionMain[1]+854& @CRLF&"PSAX:"&$PositionMainAltSalen[0] & @CRLF & "PSAY:"&$PositionMainAltSalen[1],100,100)
    ;~ $PositionMainAltSalen[0] = $PositionSalen[0]
    ;~ $PositionMainAltSalen[1] = $PositionSalen[1]

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

    ;~ EndIf

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

    Wend

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

    Func _Exit()
    WinClose ( "Salen")
    WinClose ( "Barenter")
    WinClose ( "Brinx")
    WinClose ( "Timoran")
    Exit
    EndFunc

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

    EDIT BugFix: Spoiler eingefügt ( Mal wieder !!! :weinen: )

  • Hallo.

    Das ganze ist shcon mal sehr schön. Die Sache das Fenster direkt wie beim Internetexplorer einzufügen bleibt es ein Problem.

    TamOr macht aber derzeitig echt super Arbeit. Danke !!!

    Liebe Grüße,

    Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • ich verstehe nicht ganz was du meinst mit direkt wie beim internet explorer einzufügen ?