Problem beim Anzeigen des Gadget

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Problem beim Anzeigen des Gadget

Beitrag 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?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Ausführbarer Quelltext bitte!
Benutzeravatar
Rubiko
Beiträge: 943
Registriert: 25.02.2005 19:43
Computerausstattung: Intel i7 2600k
8GB Ram
GeForce GTX 560 Ti
Wohnort: Schwabach

Beitrag 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:
Ich wollte die Welt verändern, doch Gott gab mir nicht den Quelltext.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag 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:
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag 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.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Rubiko
Beiträge: 943
Registriert: 25.02.2005 19:43
Computerausstattung: Intel i7 2600k
8GB Ram
GeForce GTX 560 Ti
Wohnort: Schwabach

Beitrag 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
Ich wollte die Welt verändern, doch Gott gab mir nicht den Quelltext.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag 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)
Zuletzt geändert von Fluid Byte am 25.10.2006 21:55, insgesamt 1-mal geändert.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag 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:
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag 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:
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@Fluid Byte
:mrgreen:
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten