Seite 1 von 1

Gadget auf Sprite !?

Verfasst: 29.05.2009 11:09
von Bura.Tino
Servus.

Ich bin grad dabei ein Programm zu schreiben, welches auf der linken Seite ein Menü hat, welches mit der Maus bedient wird. Je nachdem welchen Menüpunkt man anklickt, sollen auf der rechten Seite des Fensters Bilder, Videos oder auch Texte angezeigt werden. Das Problem dabei ist, daß die Texte auch Links enthalten sollen, weswegen ich den Text nicht vorher als Bild speichern kann.
Nun habe ich versucht auf der rechten Seite ein Editorgadget anzuzeigen, sobald Menüpunkt 1 angeklickt wird. Leider funktioniert das nicht, da ich OpenWindowdScreen() verwende um einen grafischenFensterhintergrund zu erhalten. Ich hab auch schon versucht ein Image als Hintergrund zu nehmen oder ein Imagegadget und darauf dann das Editorgadget, aber das hat alles nicht funktioniert. :(

Hat jemand von Euch da vielleicht eine Ahnung wie man das am Besten lösen könnte ? Vielleicht ist das auch ganz einfach, aber manchmal sieht man den Wald vor lauter Bäumen nicht.

Verfasst: 29.05.2009 11:42
von KeyKon
Vll solltest du mal den Code posten, ich persönlich kann mir nämlich noch nich genau vorstellen was du willst und wies gerade aussieht...

Verfasst: 29.05.2009 11:51
von Bura.Tino
Also vereinfacht kann man sich das folgendermaßen vorstellen:

Es gibt ein rahmenloses Fenster. Dieses Fenster soll nicht dieses Standardgrau oder eine andere Farbe als Hintergrund haben, sondern ein Bild, welches das ganze Fenster ausfüllt. Und auf diesen Bild-Hintergrund möchte ich jetzt ein Editorgadget (oder auch andere) anzeigen lassen.

Verfasst: 29.05.2009 13:30
von Kaeru Gaman
also, wenn du keinen Spieleinhalt oder sonstige schnelle, sich oft ändernde Grafik anzeigen willst, ist ein Screen völlig fehl am Platze.

Am einfachsten ist es, ein Image in einem ImageGadget als Hintergrund anzuzeigen.
Damit das richtig funktioniert, also das Image wirklich im Hintergrund bleibt,
musst du das ImageGadget disablen.

Code: Alles auswählen

OpenWindow(0,0,0,200,200,"Background Image")
  CreateImage(0,200,200,32)
    StartDrawing(ImageOutput(0))
      For n = 0 To 200
        Line(0,n,200,0,RGB(0,0,n+50))
      Next
    StopDrawing()
  CreateGadgetList(WindowID(0))
    ImageGadget(1,0,0,200,200,ImageID(0))
    DisableGadget(1,1) ; ******************* das ist der Trick!
    ButtonGadget(2,10,10,180,30,"Press me")
    StringGadget(3,10,100,180,20,"Type in here")
Repeat
  EvID = WaitWindowEvent()
  If EvID = #PB_Event_Gadget
    EGID = EventGadget()
    Debug EGID
  EndIf
Until EvID = #PB_Event_CloseWindow
[edit]
  • hups... ist noch 4.20 code...
[/edit]

... eine andere Möglichkeit wäre noch, das ImageGadget als Container zu benutzen

Code: Alles auswählen

UseGadgetList(GadgetID(#ImageGadget))
das kann allerdings zu Schwierigkeiten bei der Eventverarbeitung führen...

Verfasst: 29.05.2009 14:22
von Bura.Tino
Soweit war ich auch schon, aber da hab ich das Problem, das der Scrollbalken des Editorgadgets verschwunden ist und erst erscheint, wenn ich mit der Maus drüberfahre. Des Weiteren muss ich da als Menüpunkte Imagebuttons einsetzen, aber die haben ja einen Rand und das sieht blöd aus.

Verfasst: 29.05.2009 14:24
von Kaeru Gaman
hä?

> das der Scrollbalken des Editorgadgets verschwunden ist und erst erscheint, wenn ich mit der Maus drüberfahre.

was soll das mit dem Hintergrund zu tun haben?

> Des Weiteren muss ich da als Menüpunkte Imagebuttons einsetzen, aber die haben ja einen Rand und das sieht blöd aus.

dann nimm doch einfache ImageGadgets als Buttons...