StringGadget nichtmehr editierbar

Für allgemeine Fragen zur Programmierung mit PureBasic.
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

StringGadget nichtmehr editierbar

Beitrag von Lambda »

Ich kann leider kein Code posten, es ist ein größeres Projekt.

Ich erstelle in einem MDI Gadget Fenster in denen eben ein StringGadget erstellt wird. Setze ich den Fokus sofort
durch SetActiveGadget() ist es mit Tasten und doppelklick editierbar.. allerdings kann ich den Cursor nicht mit der Maus steuern. Verliert das StringGadget den Fokus oder hat ihn erst garnicht bekommt es mit der Maus nichtmehr den Fokus.. der Cursor zeigt zwar das es editierbar ist (der "I" Cursor) aber wenn ich darauf klick passiert nichts als wär es deaktiviert. (was es nicht ist)

Hoffe jemand kennt eine Antwort dazu :)

lg
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8838
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: StringGadget nichtmehr editierbar

Beitrag von NicTheQuick »

Deine Sätze und die leider öfter fehlende Grammatik machen es mir nicht gerade leicht dein Problem zu verstehen. Kannst du das bitte nochmal verständlicher erklären?

Und wie immer dazu vielleicht einen kleinen Beispielcode, mit dem man das direkt testen kann. Danke!
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: StringGadget nichtmehr editierbar

Beitrag von Lambda »

Ich weiß nicht was es daran nicht zu verstehen gibt und ich weiß auch nicht ob du es gelsen hast, aber wie schon gesagt ist es ein größeres Projekt wozu ich keinen lauffähigen Code posten kann.

MDI Gadget -> Window -> StringGadget

und das StringGadget kann den Fokus nichtmehr erhalten. Wenn ich mit dem Cursor darüber geh zeigt er mir das es editierbar ist, wenn ich aber darauf klick bekommt es den Fokus nicht.


ich gebe dem StringGadget beim erstellen den Fokus. Wenn ich darauf klick bleibt der Cursor am Anfang, bei doppelklick wird alles wie immer markiert. Mit den Tasten kann ich ihn noch bewegen. Sobald ein anderes Gadget den Fokus hat komm ich nichtmehr rein.

Fehler im Code gibt es garantiert keine da auf das StringGadget nur durch Set und Get zugeriffen wird.
Zuletzt geändert von Lambda am 15.03.2012 18:54, insgesamt 1-mal geändert.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: StringGadget nichtmehr editierbar

Beitrag von edel »

Mach dir eine Kopie deines Projektes und reduziere den Code auf ein Minimum herunter, meistens faellt
es da schon auf. Wenn nicht , postest du den Code der uebrig geblieben ist.
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: StringGadget nichtmehr editierbar

Beitrag von Lambda »

Habe es nicht im Projekt getestet und es funktioniert. Wird wohl lange Fuselarbeit das zu finden, obwohl außer Set und Get nichts darauf zugreift.

hier der Code bis zum StringGadget

Code: Alles auswählen

  AddElement(wsprite())
  wsprite()\sprite = AddSprite()
  wsprite()\name = sprite()\name
  wsprite()\frame = 0
  wsprite()\id = AddGadgetItem(#Main, #PB_Any , "Sprite: "+sprite()\name, ImageID(Image_Sprite_16), #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered | #PB_Window_WindowCentered | #PB_Window_Invisible )
    ;SendMessage_(WindowID(wsprite()\id),#WM_SETICON,#False, Image_Sprite_16)
  ResizeWindow(wsprite()\id, 0, 0, 509, 322)
  wsprite()\bar = CreateStatusBar(#PB_Any, WindowID(wsprite()\id))
  AddStatusBarField(100)
  StatusBarText(wsprite()\bar, 0, "x: 0  y: 0")
  
 ; If CreateGadgetList(WindowID(wsprite()\id))
      wsprite()\text_id = TextGadget(#PB_Any, 5, 9, 15, 15, "ID", #PB_Text_Right)
      wsprite()\string_id = StringGadget(#PB_Any, 25, 5, 110, 20, sprite()\name)
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: StringGadget nichtmehr editierbar

Beitrag von Lambda »

Das Problem besteht immernoch. :?

Mir ist aber aufgefallen das nur Gadgets mit Eingabe (String, Spin usw) schon garnicht von EventGadget zurück gegeben werden. (Buttons, CheckBoxes usw schon)

Kann es an #PB_Any liegen? Wie gesagt, selbst wenn ich ein Gadget zum Test erstelle funktioniert es genauso wenig.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7039
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: StringGadget nichtmehr editierbar

Beitrag von STARGÅTE »

Ich vermute mal, dass über dem StringGadget ein andere Gadget lappt.
Deswegen wird das StringGadget blockiert.
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
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: StringGadget nichtmehr editierbar

Beitrag von Lambda »

Buttons / CheckBoxen funktionieren. Auch im SpinGadget die Pfeile :|. Bin den gesammten Code mehrmals durchgegangen und hab auch zum Test ein neuen Code nachgebildet. Es ist kein Fehler zu finden. Er empfängt bei Eingabebereichen einfach keine Event ID mehr.

edit: nur bei Fenstern eines MDI Gadgets
Zuletzt geändert von Lambda am 16.03.2012 23:37, insgesamt 1-mal geändert.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7039
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: StringGadget nichtmehr editierbar

Beitrag von STARGÅTE »

Bild
Wie gesagt, da du uns immer noch keinen ausführbaren Code gegeben hast, in dem das Problem reproduziert wird, können wir dir nicht weiter helfen.
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
Lambda
Beiträge: 526
Registriert: 16.06.2011 14:38

Re: StringGadget nichtmehr editierbar

Beitrag von Lambda »

Du hattest recht! Es bfindet sich auf der selben position ein Container, der aber ausgeblendet war.. ich wusste nicht das dadurch Eingabefelder nicht reagieren. Danke für den Hinweiß. :D
Antworten