In der PB-Hilfe zum Befehl StartDrawing() steht Folgendes:
Jetzt habe ich das mal mit einem eigenen Programm versucht, aber aus irgendwelchen Gründen krieg' ich das nicht hin. Kann mir bitte jemand einen konstruktiven Vorschlag machen, was ich an dem nachstehenden Programm ändern muss, damit das Gitternetz im ImageGadget angezeigt wird:Unter Windows ist es erforderlich, die mittels WindowOutput() direkt in ein Fenster gezeichneten Grafiken nach jedem Verdecken, Minimieren etc. des Fensters manuell neu zu zeichnen ("zu refreshen"). Es ist daher empfehlenswert, Grafiken über ImageOutput() in ein Bild zu zeichnen und dieses als ImageGadget() im Anwendungsfenster darzustellen sowie ggf. mittels SetGadgetState() upzudaten. Windows erledigt dann das Neuzeichnen der Grafiken automatisch.
Code: Alles auswählen
OpenWindow(1,0,0,400,400,"",#PB_Window_Maximize|#PB_Window_BorderLess|#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
CreateImage(2,650,650)
CreateGadgetList(WindowID(1))
ImageGadget(1,100,100,700,700,ImageID(2),#PB_Image_Border)
StartDrawing(ImageOutput(2))
For x=150 To 650
For y=150 To 850 Step 50
Plot(x, y, RGB($00,$00,$00))
Plot(y, x, RGB($00,$00,$00))
Next y
Next x
ImageGadget(1,100,100,700,700,ImageID(2),#PB_Image_Border)
Repeat
Ereignis = WaitWindowEvent()
Until Ereignis = #PB_Event_CloseWindow
End
Mir ist aber bei SetGadgetState nicht klar, welchen Wert ich bei 'Status' angeben muss.
MfG Jan