Seite 1 von 1

Stringgadget läßt keine Eingabe zu

Verfasst: 10.10.2013 23:53
von gbalzarek
Hallo Leute,

ich habe mit "Createimage" ein Formular gebaut und in ein Fenster gesetzt. Jetzt möchte ich innerhalb einer Procedure einzelne Positionen im Fenster editieren. Dazu habe ich ein "Stringgadget" an die entsprechende Stelle gesetzt. Leider kann man aber nicht editieren. Mit "Setgadgettext" kann ich allerdings Texte schreiben.

Wieso kann ich nicht editieren?

Re: Stringgadget läßt keine Eingabe zu

Verfasst: 10.10.2013 23:54
von RSBasic
Kannst du deinen Code posten?

Re: Stringgadget läßt keine Eingabe zu

Verfasst: 11.10.2013 00:42
von STARGÅTE
Ich vermute du hast das StringGadget auf das ImageGadget gelegt? Das geht nicht, weil PB kein z-Layer-Support bietet.

Abhilfe:
Deaktiviere das ImageGadget (mit DisableGadget) bevor du das StringGadget oben drauf legst.

Re: Stringgadget läßt keine Eingabe zu

Verfasst: 12.10.2013 00:13
von gbalzarek
STARGÅTE hat geschrieben:Ich vermute du hast das StringGadget auf das ImageGadget gelegt?
Ja, genau das habe ich gemacht. Habe Deinen Tipp getestet, aber leider funktioniert das nicht.
So habe ich es gemacht:

Code: Alles auswählen

Procedure editteilnehmer()
  ;Startnummern editieren
  i=1
  DisableGadget(#BILD_GADGET,1)
  StringGadget(#EDITTEILNLISTEGADGET, 76, 176, 34, 29, Teilnehmer(i,5),#PB_String_Numeric)
  SetGadgetText(#EDITTEILNLISTEGADGET, "1")
  DisableGadget(#BILD_GADGET,0)
EndProcedure
"Hidegadget" habe ich auch getestet, leider ebenfalls erfolglos.
Vielleicht auch noch interessant: Ich benutze PB5.2

Re: Stringgadget läßt keine Eingabe zu

Verfasst: 12.10.2013 00:45
von ts-soft
Wie wäre es mit einem ausführbarem Testcode :roll:
Immer dasselbe, jedesmal muß man für die Fragesteller auch noch ackern wie ein Tier /:->

Code: Alles auswählen

If LoadImage(0, #PB_Compiler_Home + "Examples\Sources\Data\Background.bmp")
  OpenWindow(0, #PB_Ignore, #PB_Ignore, 276, 276, "")
  ImageGadget(0, 10, 10, 256, 256, ImageID(0))
  DisableGadget(0, #True)
  StringGadget(1, 20, 20, 226, 20, "")
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow : Break
    EndSelect
  ForEver
EndIf
So gehts.

Besser wäre es allerdings ein CanvasGadget zu nutzen, ohne ImageGadget und StringGadget.
Zwar erstmal aufwendiger, aber zukunftssicher und crossplattform.

Re: Stringgadget läßt keine Eingabe zu

Verfasst: 12.10.2013 23:06
von gbalzarek
Sorry, wenn ich Dir Mühe gemacht habe...

Danke, mit Deinem Tipp funktioniert es jetzt.