Stringgadget läßt keine Eingabe zu

Für allgemeine Fragen zur Programmierung mit PureBasic.
gbalzarek
Beiträge: 38
Registriert: 06.07.2006 22:18
Wohnort: D-Südwest

Stringgadget läßt keine Eingabe zu

Beitrag 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?
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Stringgadget läßt keine Eingabe zu

Beitrag von RSBasic »

Kannst du deinen Code posten?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Stringgadget läßt keine Eingabe zu

Beitrag 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.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
gbalzarek
Beiträge: 38
Registriert: 06.07.2006 22:18
Wohnort: D-Südwest

Re: Stringgadget läßt keine Eingabe zu

Beitrag 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
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 läßt keine Eingabe zu

Beitrag 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.
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
gbalzarek
Beiträge: 38
Registriert: 06.07.2006 22:18
Wohnort: D-Südwest

Re: Stringgadget läßt keine Eingabe zu

Beitrag von gbalzarek »

Sorry, wenn ich Dir Mühe gemacht habe...

Danke, mit Deinem Tipp funktioniert es jetzt.
Antworten