StringGadget im Nachhinein auf ReadOnly setzen

Anfängerfragen zum Programmieren mit PureBasic.
ozoffi
Beiträge: 41
Registriert: 08.02.2010 20:56

StringGadget im Nachhinein auf ReadOnly setzen

Beitrag 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!
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: StringGadget im Nachhinein auf ReadOnly setzen

Beitrag von Andesdaf »

Win11 x64 | PB 6.20
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Re: StringGadget im Nachhinein auf ReadOnly setzen

Beitrag von dysti »

...geht aber nur mit der Vollversion
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: StringGadget im Nachhinein auf ReadOnly setzen

Beitrag von Andesdaf »

dysti hat geschrieben:...geht aber nur mit der Vollversion
ich kann ja nicht wissen, welche Version er hat.
Win11 x64 | PB 6.20
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Re: StringGadget im Nachhinein auf ReadOnly setzen

Beitrag von dysti »

Andesdaf, war auch nicht an deine Adresse gerichtet.
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: StringGadget im Nachhinein auf ReadOnly setzen

Beitrag von Andesdaf »

Ach so. :lol:
Win11 x64 | PB 6.20
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Re: StringGadget im Nachhinein auf ReadOnly setzen

Beitrag 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.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: StringGadget im Nachhinein auf ReadOnly setzen

Beitrag 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
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Re: StringGadget im Nachhinein auf ReadOnly setzen

Beitrag 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
Zuletzt geändert von dysti am 27.02.2010 14:07, insgesamt 2-mal geändert.
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: StringGadget im Nachhinein auf ReadOnly setzen

Beitrag von ts-soft »

@dysti

Dann mußte aber auch den Inhalt angleichen :)
Antworten