radio und stringgadget

Für allgemeine Fragen zur Programmierung mit PureBasic.
24dan
Beiträge: 17
Registriert: 28.09.2005 17:46

radio und stringgadget

Beitrag von 24dan »

Hallo ich habe zwei #Radio - button

wie kann ich dafür sorgen das bei angeklicktem #Radio_01 die zugeordneten
2 #StringGadget aktiv bleiben (default) und die 2#StringGadget Felder unter
#Radio_02 inaktiv werden????

Ich will versuchen es für den Anwender so sicher wie möglich zu gestalten und gestatte es daher nicht in die Textfelder etwas einzugeben deren #Radion-Button nicht gedrückt ist.

Code: Alles auswählen

Repeat 
    Event = WaitWindowEvent() 
    If Event = #PB_EventGadget 
      GadgetID = EventGadgetID()
      
      If GadgetID = #Button_Bst
        ...
      ElseIf GadgetID = #Radio_1  
        If GetGadgetState(#Radio_1) = 1 
          SetGadgetState(#String_ZWonly, #PB_String_ReadOnly)
        ElseIf GetGadgetState(#Radio_2) = 1 
          SetGadgetState(#String_ZW1, #PB_String_ReadOnly)
          SetGadgetState(#String_ZWonly,#PB_String_Numeric)
        EndIf
         ...
Das geht nicht! :roll:
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
"Vielleicht ist diese Welt nicht die denkbar beste, aber sie ist die einzig mögliche."
(C. S. Lewis)
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Versuch es mal mit DisableGadget .
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

Beitrag von ts-soft »

Code: Alles auswählen

Enumeration 
  #Radio_1
  #Radio_2
  #String_ZW1
  #String_ZWonly
EndEnumeration

If OpenWindow(0, #CW_USEDEFAULT, #CW_USEDEFAULT, 200, 100, #PB_Window_SystemMenu, "Test")
  If CreateGadgetList(WindowID(0))
    OptionGadget(#Radio_1, 10, 10, 10, 25, "")
    OptionGadget(#Radio_2, 10, 50, 10, 25, "")
    StringGadget(#String_ZW1, 40, 10, 100, 25, "Test1")
    StringGadget(#String_ZWonly, 40, 50, 100, 25, "Test2")
    SetGadgetState(#Radio_1, #True)
    SendMessage_(GadgetID(#String_ZWonly), #EM_SETREADONLY,1,0)
  EndIf
Else
  End
EndIf
Repeat
  WindowID = WaitWindowEvent()
  GadgetID = EventGadgetID()
  Select GadgetID 
    Case #Radio_1
      SendMessage_(GadgetID(#String_ZWonly), #EM_SETREADONLY,1,0)
      SendMessage_(GadgetID(#String_ZW1), #EM_SETREADONLY,0,0)
      ActivateGadget(#String_ZW1)
    Case #Radio_2
      SendMessage_(GadgetID(#String_ZWonly), #EM_SETREADONLY,0,0)
      SendMessage_(GadgetID(#String_ZW1), #EM_SETREADONLY,1,0)
      ActivateGadget(#String_ZWonly)
  EndSelect
Until WindowID = #PB_Event_CloseWindow
Ich hoffe, so meintest Du es :)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
24dan
Beiträge: 17
Registriert: 28.09.2005 17:46

Beitrag von 24dan »

Ohhhhhhhjaaaa..... :allright: :allright: :allright:

Genau das suche ich.
Danke das hat wunderbar geklappt.
mensch da werden ne menge leute froh sein!!!! :D
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
"Vielleicht ist diese Welt nicht die denkbar beste, aber sie ist die einzig mögliche."
(C. S. Lewis)
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

oder einfach daneben setzen. :lol:

Code: Alles auswählen

If OpenWindow(0, 0, 0, 150, 100, #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "TEST")
  
  If CreateGadgetList(WindowID(0))
    OptionGadget(0, 5, 10, 15, 15, "")
    StringGadget(1, 25, 7, 65, 20, "aaa")
    OptionGadget(2, 5, 40, 15, 15, "")
    StringGadget(3, 25, 37, 65, 20, "bbb")
    DisableGadget(3, #True)
    ActivateGadget(1)
    SetGadgetState(0, #True)
    
    Repeat
      WinEvent.l = WaitWindowEvent()
      If WinEvent = #PB_Event_Gadget
        GadgetID.l = EventGadgetID()
        If GadgetID = 0
          SetGadgetState(2, #False)
          DisableGadget(1, #False)
          ActivateGadget(1)
          DisableGadget(3, #True)
        ElseIf GadgetID = 2
          SetGadgetState(0, #False)
          DisableGadget(3, #False)
          ActivateGadget(3)
          DisableGadget(1, #True)
        EndIf
      EndIf
    Until WinEvent = #PB_Event_CloseWindow
    
  EndIf
  
EndIf

End
bei mir sehen die radio buttons im beispiel von ts-soft irgendwie abgeschnitten aus. :?

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Antworten