ImageGadet blockiert Mauszugriff auf andere Gadget

Anfängerfragen zum Programmieren mit PureBasic.
Oliver13
Beiträge: 35
Registriert: 08.05.2010 15:49

ImageGadet blockiert Mauszugriff auf andere Gadget

Beitrag von Oliver13 »

Hallo zusammen,

wenn in einem Containergadet ein Imagegadget angelegt wird (zB als Hintergrund), dann können andere Gadets im selben Container nur noch per Tastatur bedient werden; Maus geht nicht mehr. (PB 4.51, Windows)

Nachstehend ein Beispielcode; wenn das Imagegadget rausgemacht wird, dann funktioniert alles problemlos.
Hat jemand hierfür einen Workaround ?

Danke + viele Grüsse
Oli

Code: Alles auswählen

Enumeration
  #GUI_WINDOW
  #GUI_CMD_NEXT
  #GUI_CMD_PREV
  #GUI_CONT
  #GUI_IMGBACK
  #GUI_CB
  #GUI_LV
EndEnumeration

If OpenWindow(#GUI_WINDOW, 415, 160, 636, 327, "Test", #PB_Window_SystemMenu|#PB_Window_TitleBar)
    ButtonGadget(#GUI_CMD_NEXT, 520, 285, 100, 30, "Next >>")
    ButtonGadget(#GUI_CMD_PREV, 415, 285, 100, 30, "<<Prev")
     ContainerGadget(#GUI_CONT, 145, 40, 485, 240)
      ImageGadget(#GUI_IMGBACK, 0, 0, 485, 240, CreateImage(#GUI_IMGBACK,485,240 )) ; <------  comment out this line
      ComboBoxGadget(#GUI_CB, 10, 25, 465, 20)
      ListViewGadget(#GUI_LV, 10, 55, 465, 135)
     CloseGadgetList()
EndIf
   
For i=1 To 5
 AddGadgetItem(#GUI_CB,-1, Str(i))
 AddGadgetItem(#GUI_LV,-1, Str(i))
Next

       
Repeat 
  Event = WaitWindowEvent()
Until event=#PB_Event_CloseWindow

__________________________________________________
Thread verschoben
Bugs>Anfänger
30.09.2010
RSBasic
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: ImageGadet blockiert Mauszugriff auf andere Gadget

Beitrag von edel »

Das Imagegadget liegt oben, es kann also keine Events an Gadgets senden die neben dem Gadget liegen.
Du kannst mal versuchen die anderen Gadgets auf dem Imagegadget zu erstellen, mit UseGadgetList oder so.

Das ist kein Bug, kann also verschoben werden.
Oliver13
Beiträge: 35
Registriert: 08.05.2010 15:49

Re: ImageGadet blockiert Mauszugriff auf andere Gadget

Beitrag von Oliver13 »

Danke, aber das hilft leider nicht weiter und es scheint doch ein Bug zu sein:

UseGadgetlist kann mit dem Imagegadget nicht verwendet werden.
Abgesehen davon werden die Keyboard-Events ja weitergereicht.


edel hat geschrieben:Das Imagegadget liegt oben, es kann also keine Events an Gadgets senden die neben dem Gadget liegen.
Du kannst mal versuchen die anderen Gadgets auf dem Imagegadget zu erstellen, mit UseGadgetList oder so.

Das ist kein Bug, kann also verschoben werden.
Benutzeravatar
alter Mann
Beiträge: 201
Registriert: 29.08.2008 09:13
Wohnort: hinterm Mond

Re: ImageGadet blockiert Mauszugriff auf andere Gadget

Beitrag von alter Mann »

ein

Code: Alles auswählen

DisableGadget(#GUI_IMGBACK,1)
tuts auch
Win11 64Bit / PB 6.0
Oliver13
Beiträge: 35
Registriert: 08.05.2010 15:49

Re: ImageGadet blockiert Mauszugriff auf andere Gadget

Beitrag von Oliver13 »

Super, das wars !

Vielen Dank !
Oli
alter Mann hat geschrieben:ein

Code: Alles auswählen

DisableGadget(#GUI_IMGBACK,1)
tuts auch
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: ImageGadet blockiert Mauszugriff auf andere Gadget

Beitrag von HeX0R »

Oliver13 hat geschrieben:Danke, aber das hilft leider nicht weiter und es scheint doch ein Bug zu sein:

UseGadgetlist kann mit dem Imagegadget nicht verwendet werden.
So so...

Code: Alles auswählen

Enumeration
  #GUI_WINDOW
  #GUI_CMD_NEXT
  #GUI_CMD_PREV
  #GUI_CONT
  #GUI_IMGBACK
  #GUI_CB
  #GUI_LV
EndEnumeration

If OpenWindow(#GUI_WINDOW, 415, 160, 636, 327, "Test", #PB_Window_SystemMenu|#PB_Window_TitleBar)
    ButtonGadget(#GUI_CMD_NEXT, 520, 285, 100, 30, "Next >>")
    ButtonGadget(#GUI_CMD_PREV, 415, 285, 100, 30, "<<Prev")
     ContainerGadget(#GUI_CONT, 145, 40, 485, 240)
     ImageGadget(#GUI_IMGBACK, 0, 0, 485, 240, CreateImage(#GUI_IMGBACK,485,240 )) ; <------  comment out this line
     OldGadgetList = UseGadgetList(GadgetID(#GUI_IMGBACK))
     ComboBoxGadget(#GUI_CB, 10, 25, 465, 20)
     ListViewGadget(#GUI_LV, 10, 55, 465, 135)
     UseGadgetList(OldGadgetList)
     CloseGadgetList()
EndIf
   
For i=1 To 5
AddGadgetItem(#GUI_CB,-1, Str(i))
AddGadgetItem(#GUI_LV,-1, Str(i))
Next

       
Repeat
  Event = WaitWindowEvent()
Until event=#PB_Event_CloseWindow
Justin
Beiträge: 167
Registriert: 09.09.2008 16:46

Re: ImageGadet blockiert Mauszugriff auf andere Gadget

Beitrag von Justin »

Moin,

ich hol den Threat mal wieder rauf...

Also die Frage ist doch nur was der Bug genau ist. Zum Einen ist das ImageGadget in der PB- Hlfe nicht als Container ausgewiesen und zum Anderen, wenn es denn ein Container wäre, sollten die auf die Initialisierung des ImageGadgets folgenden Gadgets darin erstellt werden.
Wenn es dann doch kein Container ist, liegen die nach der Erstellung des ImageGadgets erstellten Gadgets auf dem ImageGadget - was ja scheinbar nicht der fall ist... Scheinbar wird egal zu welchem Zeitpunkt das ImageGadget erstellt wird dieses immer über die nachfolgenden Gadgets gelegt.

Egal also, ob es ein Container ist oder nicht, in jedem Fall sollten Gadgets, die nach dem ImageGadget erstellt werden verfügbar sein.
PB 5.11 x64 / Kubuntu 12.10 x64 | Windows 7 x64
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: ImageGadet blockiert Mauszugriff auf andere Gadget

Beitrag von ts-soft »

Justin hat geschrieben: Egal also, ob es ein Container ist oder nicht, in jedem Fall sollten Gadgets, die nach dem ImageGadget erstellt werden verfügbar sein.
PB unterstützt keine z-Order oder sich überlappende Gadgets. Wenn ich andere Gadgets auf dem Image
plaziere sind dies überlappende Gadgets, funktioniert also nicht, jedenfalls solange das ImageGadget,
welches auch Events unterstützt nicht deaktiviert wird.

Kein Bug! zum hundertstausendsten
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
Benutzeravatar
dige
Beiträge: 1239
Registriert: 08.09.2004 08:53

Re: ImageGadet blockiert Mauszugriff auf andere Gadget

Beitrag von dige »

HeX0R hat geschrieben: So so...
Geniale Idee! Danke für den Tipp.
"Papa, ich laufe schneller - dann ist es nicht so weit."
Antworten