GUI fenster optionen

  • Hi,
    Kann man es einstellen das das fenster eine feste Größe hat, also das man es nicht ander zeihen kann. Ist Dies möglich?
    Und noch was kann man ein Fenster andres aushehen lassen. Also so wie das erste Bild im Anhang? ich bin gerade dabei für mich nen Hotkeymanager zu machen. Ich habe in das Gui einen Button gemacht der 'programm asuwählen' heißt und eine inputbox. Ich möchte das dann ein Explorer Fenster (siehe 2 Bild im anhang) öffnet wo ich in den Voreinstellungen ausgewählt habe was für datein es anzeigt. Ach ja der asugewählte teil sollt dann in einer ini. datei gespeichert werden.
    Ich hoffe ihr könnte mir helfen.

    MFG Franz

    Einmal editiert, zuletzt von franjob (10. Juli 2009 um 15:56)

  • Versuchs ma mit

    [autoit]

    ControlCommand ( "title", "text", controlID, "command" [, "option"] )

    [/autoit]


    oder

    [autoit]

    ControlDisable ( "title", "text", controlID)

    [/autoit]

    wende nicht weist was da rein kommt einfach in der Hilfe suchen :thumbup:

  • Ja aber was soll dsa mir helfen? Für welches Problem soll ich die s nehmen auch ja das problem das man das fenster nicht vergrößern soll ahb ich sho behoben. Ich würde nur gerne wissen wie ich dies mit dem explorere schaffe

  • nein das geht nicht habe dir diese 2 möglichkeiten gegeben wie du das Fenster nich mehr verändern kannst
    Du meinst wohl wie du das fenster berabeitest also die 2 Frage ;)
    hmmm da müsste ich glaub ich n paar mehr infos haben .
    (hab nemlich die 2 frage nich so ganz gerafft)

  • Also du siehst ja das Bild 2 das ist ja ein normales gui. Mit dem normalen rahmen von Windows. Aber im 1 Bild ist dieser rahmen ja nicht dort. Wie schafft man dies?

  • Ok daa hab ich 2 beispiele nur gibt es jeweils bei beiden 1 hacken , man kann sie nich so einfach verschieben
    Beispiel 1

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("", 625, 445, 192, 124, BitOR($WS_MAXIMIZEBOX,$WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_DLGFRAME,$WS_POPUP,$WS_GROUP,$WS_TABSTOP,$WS_CLIPSIBLINGS))
    $buton1 = GUICtrlCreateButton("test",50,80,100)
    GUISetState(@SW_SHOW)

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

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

    [/autoit]


    Beispiel 2 :

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 625, 445, 192, 124, BitOR($WS_MINIMIZEBOX,$WS_POPUP,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Test = GUICtrlCreateButton("Test", 256, 176, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Test
    Exit
    EndSwitch
    WEnd

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


    wie gesagt die fenster lassen sich nich so einfach verschieben :S
    wende möglichkeit findest würd ichs auch gern wissen :thumbup:

  • Ok. Danke für deine Hilfe. Ich habe gerade ein problem. Ich will ja eine Hotkey manager machen mein besheriger Code:


    ich weiß nicht wie ich es anstellen soll. im input feld 1 soll das angezeigt werden was in der ini steht. und wenn ich dort was verändere also ne andere sache reinschreibe und dann auf abspeichern gehe dann soll das in die ini eingetragen werden und beim nacäshten strat gelesen werden.

    Einmal editiert, zuletzt von franjob (10. Juli 2009 um 18:14)

  • Eäää wilst du das in deinem Verzeichnis die namen der Pogramme stehen soll und die wilst du peer Hotkey steuern ?
    Also funktionen sind
    1 : Name + Hotkey in Ini Speichern und aufrufen beim start .
    2 : Die exe peer Hotkey steuern
    oder gibt es da noch ein paar :D
    weil bis jetz sehe ich nur ein GUi das eine INi schreibt die als werte 1=0 zeigt .

  • Du hast es erfasst.ja aslo ich bin gerade nur am anfang. Also die inputs auf der linken seiten sollen den Programmpfad zu dem Prog beinhalten. und links halt der hotkey. ich will das beim abspeichern die Werte der inputfields in der .ini gespeichert werde. ich bekomm es aber nicht hin das wenn das Progi gestartet wird die Sachen aus der ini file gelesen werden und in den einzelen Inputs stehen. Verstehst du

  • Habe es geschafft hier sit eder Code:


    Mich würde jetzt nur interesieren wie man das mit dem explorer fenster schafft. Wie wenn man bei anderen Programmen Dateien öffnet. MAn klickt in die Inpubox das fenster öffnet sich, man wählt eine exe und dann sthet der Pfad in der input box drin

  • jo da habe ich ma ein Skript geschrieben das auch exe daten aus einer ini liest kannste dir ja ma angucken ^^

  • Das ist aber nicht das was ich meine. Oder? Ich meine das man in da input feld klickt und sich dann so nen fenster öffnet wie bei anderen Programmen wo man auf Datei/Öfnnen klcikt.

  • naja im grunde ist es das gleiche nur ohne Input feld .du wilst ja eventuel ja auch die daten abspeichern die du im input feld hast oder ?

  • nochmal wegen dem fenster. Wie man sieht geht es aber (siehe Bildanhang). man kann dort das fenster bewegen und es ist nicht der normale Rahmen.

  • Meinst du den Rahmen da hätte ich auch noch ma ein beispiel :

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 625, 477, 192, 124, BitOR($WS_MINIMIZEBOX,$WS_SYSMENU,$WS_CAPTION,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_HSCROLL,$WS_BORDER,$WS_CLIPSIBLINGS))
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

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

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

    EndSwitch
    WEnd

    [/autoit]


    oder meinst du die einzelnen kleinichkeiten ?
    Farbe ,Toolbar ,Statusbar etc ?
    vieleicht makieren was du meinst 8|

  • halt oben der rahmen das er da nen bild erstellt hat und des als rahmen verwendet wie geht des?
    Ach ja nochwas. Wie kann ich meine Bilder die in der Datei eingebunden sind verschlüßeln ? dass sie mir keiner klaut?

    Einmal editiert, zuletzt von franjob (10. Juli 2009 um 21:31)

  • Also das Bild da oben ist ein Ico das kannste leicht rein machen .
    und wen du bilder mit ins Skript mit rein machen wilst ohne sie mit fileinstall reinzubringen kannst du sie in ein string umwandeln hir ein Tool dazu .

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    $file = FileOpenDialog("Choose EmbedFile",@DesktopDir,"All Files (*.*)")
    $Fname = StringTrimLeft($file,StringInStr($file,"\",1,-1))
    If @error Then Exit
    $f = FileOpen($file,16)
    $t = FileRead($f)
    FileClose($f)
    $z = StringRegExp($t,"(.{1,128})",3)
    $Ubound = UBound($z)
    If $UBound = 1 Then
    $String = '$FileName = "' & $z[0] & '"'
    ElseIf $UBound > 1 Then
    $String = '$FileName = "' & $z[0] & '"' & @CRLF
    For $i = 1 To $UBound-2 Step 1
    $String &= ' $FileName &= "' & $z[$i] & '"' & @CRLF
    Next
    $String &= ' $FileName &= "' & $z[$UBound-1] & '"' & @CRLF
    EndIf
    If $UBound > 0 Then $String &= '$WritungFile = FileOpen(@ScriptDir & "\'&$Fname&'",18)' & @CRLF & 'FileWrite($WritungFile,$FileName)' & @CRLF & 'FileClose($WritungFile)' & @CRLF & @CRLF
    FileDelete(@TempDir & "\tempembedFile.txt")
    FileWrite(@TempDir & "\tempembedFile.txt",$String)
    ShellExecute(@TempDir & "\tempembedFile.txt")

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


    um das bild zu schützen gibt es mehrere möglichkeiten z.b bild in string und dan vieleicht in den Memory speichern istaber sehr schwierik mann kann es auch ihrgenwo hin kopieren und dan wieder automatisch löschen lasen .
    Vorsicht skript kan sehr groß werden wen du die bilder ins skript machst