> hello, > I'm new and I have a question. > I would like to draw some points in defferent colors in a drawarea. > But my program dosn't work. (see source) There is nothing to see. (no > points) > Can somebody help me? > > Source: > DrawingArea1.Clear > DrawingArea1.Show > DrawingArea1.Visible = TRUE > DrawingArea1.Foreground = Color.Black > DrawingArea1.Background = Color.White > DrawingArea1.Refresh > Draw.Begin(DrawingArea1) > Draw.Transparent = FALSE > Draw.ForeColor = Color.Black > Draw.Foreground = Color.Black > Draw.BackColor = Color.White > Draw.Background = Color.White > Draw.FillStyle = 1 > f = &HFF00 > FOR x = 10 TO 50 STEP 1 > Draw.ForeColor = f > Draw Foreground = f > FOR y = 10 TO 50 STEP 1 > Draw.Point(x, y) > NEXT > f = f + 4 > NEXT > Draw.End > DrawingArea1.Refresh
A DrawingArea has two possible behaviours: 1) When its Cached property is set to False (the default). Then you must draw inside the DrawingArea Draw event handler. This event will be raised each time X11 tells your application that the drawing area has to be redrawn. You don't have to call Draw.Begin() and Draw.End() inside the event handler, this is done automatically. In that case, drawing outside of the Draw event handler is useless. 2) When its Cached property is set to True. Then drawing on the DrawingArea is done inside a internal bitmap buffer. Then you can draw when you want, and the internal bitmap buffer will be used to refresh the DrawingArea contents as needed. Regards, -- Benoît ------------------------------------------------------------------------------ _______________________________________________ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user