Gadget auf Sprite !?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Bura.Tino
Beiträge: 38
Registriert: 08.12.2005 05:52

Gadget auf Sprite !?

Beitrag 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.
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag 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...
(\/) (°,,,°) (\/)
Bura.Tino
Beiträge: 38
Registriert: 08.12.2005 05:52

Beitrag 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.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Bura.Tino
Beiträge: 38
Registriert: 08.12.2005 05:52

Beitrag 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.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten