Aktuelle Zeit: 01.04.2020 03:15

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Gadget auf ImageGadget verschwindet
BeitragVerfasst: 29.11.2010 13:59 
Offline

Registriert: 08.03.2009 16:08
Code:
window = OpenWindow(#PB_Any,200,100,400,200,"Test",#PB_Window_SystemMenu)
testGad = TrackBarGadget(#PB_Any, 0, 0, 150, 30, 0,100)
image = CreateImage(#PB_Any,400,200)
imageGad = ImageGadget(#PB_Any,0,0,400,200,ImageID(image))
Repeat
  event = WaitWindowEvent()
  If event = #PB_Event_Gadget
   If EventGadget() = testGad
    SetGadgetState(testGad,GetGadgetState(testGad))
   ElseIf EventGadget() = imageGad
    StartDrawing(ImageOutput(image))
    Circle(WindowMouseX(window),WindowMouseY(window),10,Random($ffffff))
    StopDrawing()
    SetGadgetState(imageGad,ImageID(image))
   EndIf
  EndIf
Until event = #PB_Event_CloseWindow


Einmal wird das TrackBarGadget nur angezeigt, wenn es vor dem ImageGadget gesetzt wird, was nicht unbedingt einleuchtet und im Einzelfall unpraktisch ist.

Zum anderen verschwindet es, wenn mit einem Mausklick irgendwo auf dem Bild ein Kreis gezeichnet und das Bild dann aktualisert wird. Klickt man dann auf die Stelle des TrackBarGadgets, erscheint es zwar wieder teilweise oder manchmal auch ganz, aber das ist ja wohl kaum die Lösung.

Wie erreiche ich, daß bei übereinandergeltegent Gadgets und der Änderung des einen weiterhin alle angezeigt werden?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Gadget auf ImageGadget verschwindet
BeitragVerfasst: 29.11.2010 15:36 
Offline

Registriert: 21.01.2008 09:40
das wäre keine lösung?
Code:
window = OpenWindow(#PB_Any,200,100,400,230,"Test",#PB_Window_SystemMenu)
testGad = TrackBarGadget(#PB_Any, 0, 0, 400, 30, 0,100)
image = CreateImage(#PB_Any,400,200)
imageGad = ImageGadget(#PB_Any,0,30,400,200,ImageID(image))
Repeat
  event = WaitWindowEvent()
  If event = #PB_Event_Gadget
   If EventGadget() = testGad
    SetGadgetState(testGad,GetGadgetState(testGad))
   ElseIf EventGadget() = imageGad
    StartDrawing(ImageOutput(image))
    Circle(WindowMouseX(window),WindowMouseY(window),10,Random($ffffff))
    StopDrawing()
    SetGadgetState(imageGad,ImageID(image))
   EndIf
  EndIf
Until event = #PB_Event_CloseWindow

_________________
pb 4.51 win7 64


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Gadget auf ImageGadget verschwindet
BeitragVerfasst: 29.11.2010 15:49 
Offline

Registriert: 05.11.2008 17:45
Hi

ich glaube Riacons Lösung ist die einzige möglichkeit. Ich habe versucht das window über API dazu zubring sie selbst neu zu zeichnen, bringt aber gar nichts.

mfg °°°

_________________
PureBasic 4.51

Support this Game:_______________________Mein Buch:
http://www.interstellarmarines.com/_______http://www.epubli.de/shop/showshopelement?pubId=3477


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Gadget auf ImageGadget verschwindet
BeitragVerfasst: 29.11.2010 16:36 
Offline
Kommando SG1
Benutzeravatar

Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Wie oft muss eigentlich noch erwähnt werden das PureBasic-Gadgets kein Z-Layer unterstützen ?

Wenn dann musst du mittels API "sagen", dass das TrackBarGadget ein Kind des ImageGadgets ist:
SetParent_(GadgetID(ChildGadgat), GadgetID(Gadget))

Code:
window = OpenWindow(#PB_Any,200,100,400,200,"Test",#PB_Window_SystemMenu)
testGad = TrackBarGadget(#PB_Any, 0, 0, 150, 30, 0,100)
image = CreateImage(#PB_Any,400,200)
imageGad = ImageGadget(#PB_Any,0,0,400,200,ImageID(image))
SetParent_(GadgetID(testGad), GadgetID(imageGad))
Repeat
  event = WaitWindowEvent()
  If event = #PB_Event_Gadget
   If EventGadget() = testGad
    SetGadgetState(testGad,GetGadgetState(testGad))
   ElseIf EventGadget() = imageGad
    StartDrawing(ImageOutput(image))
    Circle(WindowMouseX(window),WindowMouseY(window),10,Random($ffffff))
    StopDrawing()
    SetGadgetState(imageGad,ImageID(image))
   EndIf
  EndIf
Until event = #PB_Event_CloseWindow


EDIT:

Ohne API geht auch, UseGadgetList:
Code:
window = OpenWindow(#PB_Any,200,100,400,200,"Test",#PB_Window_SystemMenu)
image = CreateImage(#PB_Any,400,200)
imageGad = ImageGadget(#PB_Any,0,0,400,200,ImageID(image))
Old = UseGadgetList(GadgetID(imageGad))
 testGad = TrackBarGadget(#PB_Any, 0, 0, 150, 30, 0,100)
UseGadgetList(Old)
Repeat
  event = WaitWindowEvent()
  If event = #PB_Event_Gadget
   If EventGadget() = testGad
    SetGadgetState(testGad,GetGadgetState(testGad))
   ElseIf EventGadget() = imageGad
    StartDrawing(ImageOutput(image))
    Circle(WindowMouseX(window),WindowMouseY(window),10,Random($ffffff))
    StopDrawing()
    SetGadgetState(imageGad,ImageID(image))
   EndIf
  EndIf
Until event = #PB_Event_CloseWindow

_________________
Bild
 
BildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Gadget auf ImageGadget verschwindet
BeitragVerfasst: 29.11.2010 17:53 
Offline

Registriert: 27.10.2007 14:30
Wohnort: Kölle
:allright: Danke Stargate! (Wieso bin ich nicht selber darauf gekommen??? :roll: )

Häns und seine "Boxgegurke"

_________________
PB 5.6
Windows 7 Professional


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Gadget auf ImageGadget verschwindet
BeitragVerfasst: 29.11.2010 18:31 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
STARGÅTE hat geschrieben:
Wie oft muss eigentlich noch erwähnt werden das PureBasic-Gadgets kein Z-Layer unterstützen ?

ein klassischer Fall für die FAQ?

Grüße ... Kiffi

_________________
Schrödingers Smiley :):


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Gadget auf ImageGadget verschwindet
BeitragVerfasst: 29.11.2010 20:15 
Offline

Registriert: 08.03.2009 16:08
Kein Grund rumzubrüllen, aber trotzdem vielen Dank.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Gadget auf ImageGadget verschwindet
BeitragVerfasst: 29.11.2010 20:21 
Offline
Kommando SG1
Benutzeravatar

Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Hab ja nicht "rumgebrüllt".
Sonden nur eine Frage gestellt :wink:

Denn wenn man genau deinen Themen-Titel in die Suche eingibt, bekommt man mehrere Treffer zu genau diesem Thema:
Gadget auf ImageGadget verschwindet

@Kiffi
Jo muss mal das Passwort wieder suchen ^^

_________________
Bild
 
BildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Gadget auf ImageGadget verschwindet
BeitragVerfasst: 01.12.2010 15:24 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:53
Das ImageGadget einfach deaktivieren, dann funzt es auch!
Code:
DisableGadget (imageGad, #True)

_________________
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  
cron

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye