ich habe ein Fenster wo ich Draw Text anwende, damit Zeichne ich die Zeit aufs Fenster, in der Repeatschleife wird das immer wieder aufgerufen, nur ist das Problem, dass er die alten DrawTexts's nicht löscht, gibts da nen Befehl?
Danke
Lukaso
Lukaso hat geschrieben:Ich bräuchte so ne art ClearScreen() fürs FensterOder noch besser: Ein befehl um das Hintergrundbild zu Refrashen, damit es wieder vorm DrawText ist
Code: Alles auswählen
InvalidateRect_(hWnd,0,1)
UpdateWindow_(hWnd)UseWindow() vorm zeichnen nehmen, oder noch besser mitLukaso hat geschrieben:@all
Habe noch eine Frage: Kann ich sagen ich welches Fenster ich etwas Zeichnen will, wenn ich Jetzt nen ChildWindow öffne, habe ich das Problem, dass er das dann nicht ins MainWindow wie ich es will zeichnet, sondern in das Offene Childwindow!
Zeig mal einen Mini-Code wo man das HintergrundBild siehtLukaso hat geschrieben:@Danilo
Ich bin jetzt mal erlich, Irgendwie habe ich das oben mit dem "ImageGadget" nicht richtig verstanden![]()
Code: Alles auswählen
icon = CatchImage(0, ?icon)
icon_play = CatchImage(1, ?icon_play)
DataSection
icon: IncludeBinary "images/icon.bmp"
icon_play: IncludeBinary "images/icon_play.bmp"
EndDataSection
Global tickertext.s
Procedure ticker(auf_gadget)
font_tmp = LoadFont(#PB_Any, "Verdana", 7, #PB_Font_Bold)
Repeat
pix = 1
Repeat
image_tmp = CopyImage(auf_gadget, #PB_Any)
StartDrawing(ImageOutput())
Locate(ImageWidth() - pix, 22)
pix + 1
DrawingFont(UseFont(font_tmp))
FrontColor(255, 255, 255)
If pix > ImageWidth() + TextLength(tickertext)
StopDrawing()
Break
EndIf
DrawingMode(1)
tickertext = "LUKASO - TEST - TEST"
DrawText(tickertext)
StopDrawing()
If image_old <> 0
FreeImage(image_old)
EndIf
SetGadgetState(auf_gadget, UseImage(image_tmp))
image_old = image_tmp
Delay(20)
ForEver
ForEver
EndProcedure
If OpenWindow(0, 0, 0, 32, 40, #PB_Window_BorderLess | #PB_Window_ScreenCentered, "ImageGadget TICKER")
If CreateGadgetList(WindowID(0))
ImageGadget(1, 0, 0, ImageWidth(), ImageHeight(), icon)
th = CreateThread(@ticker(), 1)
Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow
EndIf
EndIf