GUI-Fenstergröße und Bildschirmauflösung

  • Hallo Forumer,


    ich habe vor kurzem meine ersten Schridde mit AutoIt getan und muß sagen: Ich bin schlichtweg begeistert!


    Jetzt habe ich aber zwei Fragen, die ich bisher weder in der Hilfe, noch im WIKI noch hier im Forum beantwortet fand:


    1. Ich hab' schon viele Scripte gesehen, in deren GUI's die Schrift nicht in das Fenster passte. Solche Schönheitsfehler möchte ich latürnich von vornherein vermeiden!

    Ein Möglichkeit bestünde darin, die Fenstergröße über @DesktopWidth und
    @DesktopHeight zu dynamisieren.

    Ich meine jedoch, bei der Suche nach 'was völlig anderem in der Hilfe auch mal über irgendetwas zum Thema "Fenstergröße immer gleich", bzw. "Fenstergröße relativ zur Bildschirmgröße" gestolpert zu sein, konnte diesen Punkt aber einfach nicht wiederfinden. Mittels einer solchen Option wäre das ganze latürnich einfacher und eleganter zu lösen.


    2. Nach Definition von 'Opt("ExpandVarStrings", 1)' gibt folgendes die Anzahl der Startparameter aus:

    [autoit]

    $Params = $CmdLine[0]
    MsgBox(0, "ParameterTest", "Anzahl der Parameter: $Params$";)

    [/autoit]


    folgendes aber nur den Text $CmdLi.........':

    [autoit]

    MsgBox(0, "ParameterTest", "Anzahl der Parameter: $CmdLine[0]$";)
    MsgBox(0, "ParameterTest", "Anzahl der Parameter: $CmdLine$[0]";)

    [/autoit]

    Mache ich da irgendeinen Fehler oder klappt die Variablen-Expansion generell nich' mit internen Variablen, sodaß ich in diesem Fall auf

    [autoit]

    MsgBox(0, "ParameterTest", "Anzahl der Parameter: " & $CmdLine[0])

    [/autoit]


    zurückgreifen muß?

    Kann mir da vielleicht ein Profi mal hilfreich unter die Arme greifen? Ich bin für jeden Tipp dankbar.


    Und wenn mir dann noch jemand sagen könnte, wie ich diese sch... Zentrierung und die lächerlichen Smilies aus diesem Editor 'rausbekomme, wäre ich restlos glücklich!


    Mit freundlichen Grüßen

    [/code] ---------------------------- BinCZ

    Edit BugFix: Tags gesetzt

    Einmal editiert, zuletzt von BinCZ (14. Oktober 2007 um 05:00)

    • Offizieller Beitrag

    Hi,

    zu 1.
    Wenn du keine Option setzt sind deine Größenangaben nicht dynamisch. Alle Controls werden so angezeigt, wie von dir gewollt.
    Dynamik kannst du erreichen mit:
    - AutoitSetOption('GUIResizeMode', [, param] )
    Für die Controls:
    - GUICtrlSetResizing ( controlID, resizing )

    zu 2.
    "Opt("ExpandVarStrings", 1)" ist nicht notwendig um die Anzahl der Parameter zu ermitteln.
    Dein Aufruf war nur nicht korrekt:

    [autoit]

    $Params = $CmdLine[0]
    MsgBox(0, "ParameterTest", "Anzahl der Parameter: " & $Params)

    [/autoit]
    Zitat

    Und wenn mir dann noch jemand sagen könnte, wie ich diese sch... Zentrierung und die lächerlichen Smilies aus diesem Editor 'rausbekomme, wäre ich restlos glücklich!


    :lol: Die Smileys entstehen, weil du keine Tags gesetzt hast. Und schon wird aus abschließender Klammer und folgendem Semikolon das Zwinker-Smiley.
    Dein Text erscheint nur in deinem Browser zentriert. Das Problem liegt ausschließlich auf deiner Seite des Netzes. :)

  • Hallo BugFix,


    vielen Dank für Deine schnelle Antwort. Die Sache mit den Fenstergrößen werd' ich mir hinter die Ohren schreiben.


    Aber bei der Sache mit der Variablen-Expansion ging es nicht primär um die Ermittlung der Startparameter; wie das geht, da bin ich mittlerweilen hintergekommen.

    Es ging um die Variablen-Expansion schlechthin, stellt sie doch ein bequemes Mittel dar, die Variable in der Form ("Text $Variable$";) anstatt mit ("Text " & $Variable) in einem String weiterzuverarbeiten (laut AutoIt-Hilfe jedenfalls). Die Variable $CmdLine[0] ist hier nur das Beispiel, bei dem ich auf Schwierigkeiten mit der Variablen-Expansion gestoßen bin.


    Auf dem indirekten Weg mit $Params = $CmdLine[0] und anschliessender Ausgabe mit (...., "Text $Params$";) klappt das ganze ja auch wunnebarst. Es wird der Text mit dem anschließenden Inhalt der Variablen ausgegeben.

    Nur auf dem direkten Weg mit (...., "Text $CmdLine[0]$";), bzw. mit (...., "Text $CmdLine$[0]";) wird immer nur 'Text $CmdLine[0]$', bzw. 'Text $CmdLine$[0]';) ausgeben, nicht der Text mit dem anschließenden Inhalt der Variablen.


    Nun drängt sich mir latürnich zwangsläufig der Verdacht auf, daß die Variablen-Expansion mit internen Variablen generell nich' klappt und ich in diesem Fall grundsätzlich auf die bewährte Form (...., "Text " & $Variable) zurückgreifen muß.

    Is' dem so oder mache ich nur einen billigen Fehler?


    Da ich diesen Post nun schon zum dritten Mal geschrieben habe, wäre ich weiterhin dankbar, erklärte mir jemand, warum trotz Anmeldung nach Anklicken von "Antwort erstellen" die Meldung "... fehlende Berechtigung ... blablabla ..." kommt und mein ganzer Text verschwunden ist.


    Mit freundlichen Grüßen

    ---------------------------- BinCZ

    Einmal editiert, zuletzt von BinCZ (14. Oktober 2007 um 20:33)

  • Hallo peethebee,


    vielen Dank für Deinen erleuchtenden Tip. Hascha Recht, is' ja nich' nur eine, sonnern'n ganzes Feld, gemeinhin auch Array genannt.

    Da häddich auch von selbs' d'rauf komm'n könn'n. Ich bin halt nur'n billiger PLC-Programmierer und hab' da mit Feldern wenich zu tun.

    Aber wie sagte schon mein Opa immer: Wenn man blind is', is' Tasten keine Schande.


    Vielen Dank noch 'mal; ich kann nun meine diesbezüglichen Versuche beruhigt als endgültig aussichtslos einstellen.


    Mit freundlichen Grüßen

    ---------------------------- BinCZ