GUISetState und @SW_HIDE

    • Offizieller Beitrag

    Bisher hab ich ja nur mit einer GUI gearbeitet. Nun teste ich grad das Arbeiten mit mehreren Fenstern.
    Dabei ist mir unklar, wieso @SW_HIDE unterschiedlich wirkt. Das Script ignoriert das @SW_HIDE in Zeile 15. Aber in Zeile 19 wirkt es. :(
    Habt ihr eine Erklärung?

    Spoiler anzeigen
  • Hi BugFix,
    versuchs doch einfach mal so, wie's in der Hilfe beschrieben wird

    Code
    GUICtrlSetState ( controlID, state )

    Gruß
    ytwinky

    (Ich) benutze stets die aktuelle (Beta) und SciTE..

    Einmal editiert, zuletzt von ytwinky (6. Juni 2006 um 13:36)

    • Offizieller Beitrag

    Hallo,

    du musst den WinHandle übergeben nicht den Fenstertitel:

    Spoiler anzeigen

    Wenn der zweite Parameter ungültig ist, passiert das gleiche als wenn kein 2. Parameter angebeben wurde, GUISetState bezieht sich dann immer auf das letzte mit GUICreate erstellte Fenster.

  • Ja, und ControlId ist der Handle..
    .. und state ist der Status.
    Wenn das in der o.G. Reihenfolge übergeben wird, dann klappts auch.
    Jedenfalls funktioniert das so in der GetSidGUI..
    GUICtrlSetState($zuversteckendesFenster, SW_HIDE)
    [Edit]
    Was ich gesagt habe, ist richtig..
    ..so richtig, daß ich stolz auf mich sein sollte..
    ..wenn's zum Thema gehört hätte :oops:
    Gruß
    ytwinky

    (Ich) benutze stets die aktuelle (Beta) und SciTE..

    2 Mal editiert, zuletzt von ytwinky (6. Juni 2006 um 16:25)

    • Offizieller Beitrag

    Also erstmal Danke!

    bernd670
    Ja, genau so klappt es. Ich dachte eigentlich auch, dass die ControlId anstelle des Handle genutzt werden kann. Aber diese Funktion verlangt tatsächlich explicit das Handle.

    ytwinky
    GUICtrlSetState() ist hier völlig wirkungslos. Ich nehme mal an, weil wir hier kein Control sondern eine GUI haben.
    Und soweit ich weiß, zählen Button, Label, Combobox etc. zu den Controls, nicht aber die GUI selber.

  • Ich habe doch schon gesagt, das ich mich nicht zum Thema geäußert habe :D
    Das mit GUISetState(@SW_HIDE, $Form1) habe ich jetzt auch probiert und es geht. Ich weiß aber noch nicht, ob und wofür ich das gebrauchen kann..
    ..jedenfalls weiß ich jetzt wie es geht..
    Gruß
    ytwinky

    (Ich) benutze stets die aktuelle (Beta) und SciTE..