Seite 1 von 2

Problem beim Anzeigen des Gadget

Verfasst: 25.10.2006 20:46
von RSBasic
Hi ihr, ich habe ein Problem. Ich habe ein Fenster programmiert und habe als Titelleiste eine Grafik eingebunden. Darauf habe ich eine Titelleiste-Grafik eingebunden. Bei jeden Fenster habe ich den Textgadget darauf erstellt.. So dass ich immer einen anderen Titel bei verschiedenen Fenser habe. Aber mein Problem ist, wenn ich mein Fenster verschiebe, dann verschwindet mein Text auf der Grafik. Wie kann ich das Problem beheben?
Alternative: Oder soll ich anders machen, aber wie?

Verfasst: 25.10.2006 20:54
von Fluid Byte
Ausführbarer Quelltext bitte!

Verfasst: 25.10.2006 20:55
von Rubiko
Poste doch mal 'nen kurzen Code bei dem das Problem auftritt, macht's bestimmt für viele einfacher dein Problem zu verstehen :)

EDIT: mist, da war jemand schneller :mrgreen:

Verfasst: 25.10.2006 21:14
von RSBasic
Hi, ich musste leider alles umprogrammieren, aber jetzt habe ich geschaft.
Hier ist mein Code:

Code: Alles auswählen

LoadImage(1,"Titelleiste.bmp",0)
If OpenWindow(0,0,0,500,500,"Programm",#PB_Window_ScreenCentered)
  If CreateGadgetList(WindowID(0))
    TextGadget(1,2,2,100,16,"Programm",0)
    ImageGadget(2,0,0,0,0,ImageID(1),0)
  EndIf 
  SetGadgetColor(1,#PB_Gadget_FrontColor,RGB(255,255,255))
  SetGadgetColor(1,#PB_Gadget_BackColor,RGB(0,53,213))
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Bilddatei hier herunterladen:
http://88.134.201.145/Titelleiste.bmp

Bitte helft mir :allright:

Verfasst: 25.10.2006 21:17
von RSBasic
RSBasic hat geschrieben:Hi, ich musste leider alles umprogrammieren, aber jetzt habe ich geschaft.
Hier ist mein Code:

Code: Alles auswählen

LoadImage(1,"Titelleiste.bmp",0)
If OpenWindow(0,0,0,500,500,"Programm",#PB_Window_ScreenCentered)
  If CreateGadgetList(WindowID(0))
    TextGadget(1,2,2,100,16,"Programm",0)
    ImageGadget(2,0,0,0,0,ImageID(1),0)
  EndIf 
  SetGadgetColor(1,#PB_Gadget_FrontColor,RGB(255,255,255))
  SetGadgetColor(1,#PB_Gadget_BackColor,RGB(0,53,213))
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Bilddatei hier herunterladen:
http://88.134.201.145/Titelleiste.bmp

Bitte helft mir :allright:
Problem: Wenn man mein Fenster außerhalb des Bildschirms verschiebt, dann verschwindet mein Text.

Verfasst: 25.10.2006 21:22
von Rubiko

Code: Alles auswählen

LoadImage(1,"Titelleiste.bmp",0)
If OpenWindow(0,0,0,500,500,"Programm",#PB_Window_ScreenCentered)
  If CreateGadgetList(WindowID(0))    
    If ImageGadget(2,0,0,0,0,ImageID(1),0)
      TextGadget(1,2,2,100,16,"Programm",0)
    EndIf
  EndIf
  SetGadgetColor(1,#PB_Gadget_FrontColor,RGB(255,255,255))
  SetGadgetColor(1,#PB_Gadget_BackColor,RGB(0,53,213))
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf 
So gehts, leider kann ich dir jetzt nicht genau erklähren warum man ein if/endif benutzen muss, kann jemand helfen?

EDIT: ich bemerke grad, man braucht kein if/endif, das textgadget muss beim Code nur nach dem imagegadget() erstellt werden

Verfasst: 25.10.2006 21:32
von Fluid Byte
Es liegt nicht an der If/EndIf Kondition sondern an der Reihenfolge wie du die gadgets erstellst.

Funktioniert:

Code: Alles auswählen

ImageGadget(2,0,0,0,0,ImageID(0),0)
TextGadget(1,2,2,100,16,"Programm",0)
Funktioniert nicht:

Code: Alles auswählen

TextGadget(1,2,2,100,16,"Programm",0)
ImageGadget(2,0,0,0,0,ImageID(0),0)

Verfasst: 25.10.2006 21:52
von RSBasic
@Rubiko
Vielen Dank für deine Hilfe und dein Code. Es funktioniert ohne Probleme. THX :allright:

@Fluid Byte
Danke dir auch, dein Code hat auch prima geklappt. THX :allright:

Verfasst: 25.10.2006 21:55
von Fluid Byte
@Fluid Byte
Dein Beispiel habe ich immernoch Probleme, aber es hat sich erledigt. Dank an @Rubiko
Ich weiss! Weil es genau andersrum funktioniert als ich es gepostet hab! :mrgreen:

Verfasst: 26.10.2006 14:20
von RSBasic
@Fluid Byte
:mrgreen: