Seite 1 von 2

StringGadget im Nachhinein auf ReadOnly setzen

Verfasst: 26.02.2010 15:28
von ozoffi
Hallo!
Ich würde gerne ein StringGadget je nach Abhängigkeit von Checkboxen auf ReadOnly setzen bzw. "verbergen" (also wie eine Checkbox disable setzen)
Aber mit SetGadgetText oder SetGadgetState geht das offenbar nicht. Ich habe dazu auch nichts gefunden...
Hidden geht - schöner wäre aber nur disablen, oder readonly...
Jemand eine Idee?
Danke!

Re: StringGadget im Nachhinein auf ReadOnly setzen

Verfasst: 26.02.2010 16:03
von Andesdaf

Re: StringGadget im Nachhinein auf ReadOnly setzen

Verfasst: 26.02.2010 19:00
von dysti
...geht aber nur mit der Vollversion

Re: StringGadget im Nachhinein auf ReadOnly setzen

Verfasst: 26.02.2010 19:02
von Andesdaf
dysti hat geschrieben:...geht aber nur mit der Vollversion
ich kann ja nicht wissen, welche Version er hat.

Re: StringGadget im Nachhinein auf ReadOnly setzen

Verfasst: 26.02.2010 19:06
von dysti
Andesdaf, war auch nicht an deine Adresse gerichtet.

Re: StringGadget im Nachhinein auf ReadOnly setzen

Verfasst: 26.02.2010 19:53
von Andesdaf
Ach so. :lol:

Re: StringGadget im Nachhinein auf ReadOnly setzen

Verfasst: 26.02.2010 22:28
von AND51
Zur Not dasselbe Gadget neu erstellen: Mit denselben Koordinaten, Höhen und Breiten und ganz wichtig - derselben GadgetID.
Das erzeugen eines Gagdgets mit einer GadgetID, die es bereits gibt, führt dazu, dass das Gadget mit derselben alten ID automatisch überschrieben wird.

Alternativ, das ist so ziemlich der gleiche Ansatz, könntest du das alte Gadget mit FreeGadget() freigeben und dann ein neues erstellen. Aber bei dem oben beschriebenen Weg sparste dir das FreeGadget().

Ach ja: Und je nachdem musste beim Neuerstellen das Flag ReadOnly mit angeben oder weglassen.

Re: StringGadget im Nachhinein auf ReadOnly setzen

Verfasst: 26.02.2010 22:47
von ts-soft
vielleicht reicht ja auch das einfache disablen?

Code: Alles auswählen

OpenWindow(0, #PB_Ignore, 0, 120, 80, "bla")
StringGadget(0, 10, 10, 100, 20, "test", #PB_String_BorderLess)
CheckBoxGadget(1, 10, 40, 100, 30, "ReadOnly")

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow : Break
    Case #PB_Event_Gadget
      Select EventGadget()
        Case 1
          DisableGadget(0, GetGadgetState(1))
      EndSelect
  EndSelect
ForEver

Re: StringGadget im Nachhinein auf ReadOnly setzen

Verfasst: 27.02.2010 14:01
von dysti
..Vielleicht wäre das auch eine Möglichkeit:

Code: Alles auswählen

OpenWindow(0, #PB_Ignore, 0, 120, 80, "bla")
StringGadget(0, 10, 10, 100, 20, "test", #PB_String_BorderLess)
TextGadget(1, 10, 10, 100, 20, "test")
SetGadgetColor(1,#PB_Gadget_BackColor,$FFFFFF)
CheckBoxGadget(2, 10, 40, 100, 30, "ReadOnly")

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow : Break
    Case #PB_Event_Gadget
      Select EventGadget()
        Case 2
        If GetGadgetState(2)
          SetGadgetText(1,GetGadgetText(0))
          HideGadget(0, 1)
          HideGadget(1, 0)
          Else
          HideGadget(0, 0)
          HideGadget(1, 1)
        EndIf
      EndSelect
  EndSelect
ForEver
Nachtrag: den Hinweis von TS-Soft übernommen

Re: StringGadget im Nachhinein auf ReadOnly setzen

Verfasst: 27.02.2010 14:04
von ts-soft
@dysti

Dann mußte aber auch den Inhalt angleichen :)