Seite 1 von 1

ImageGadet blockiert Mauszugriff auf andere Gadget

Verfasst: 30.09.2010 07:57
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

Re: ImageGadet blockiert Mauszugriff auf andere Gadget

Verfasst: 30.09.2010 08:06
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.

Re: ImageGadet blockiert Mauszugriff auf andere Gadget

Verfasst: 30.09.2010 08:36
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.

Re: ImageGadet blockiert Mauszugriff auf andere Gadget

Verfasst: 30.09.2010 08:42
von alter Mann
ein

Code: Alles auswählen

DisableGadget(#GUI_IMGBACK,1)
tuts auch

Re: ImageGadet blockiert Mauszugriff auf andere Gadget

Verfasst: 30.09.2010 08:44
von Oliver13
Super, das wars !

Vielen Dank !
Oli
alter Mann hat geschrieben:ein

Code: Alles auswählen

DisableGadget(#GUI_IMGBACK,1)
tuts auch

Re: ImageGadet blockiert Mauszugriff auf andere Gadget

Verfasst: 30.09.2010 12:15
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

Re: ImageGadet blockiert Mauszugriff auf andere Gadget

Verfasst: 21.03.2011 14:05
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.

Re: ImageGadet blockiert Mauszugriff auf andere Gadget

Verfasst: 21.03.2011 14:34
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

Re: ImageGadet blockiert Mauszugriff auf andere Gadget

Verfasst: 22.03.2011 11:12
von dige
HeX0R hat geschrieben: So so...
Geniale Idee! Danke für den Tipp.