Ista wrote:
I just didn't want to do that because then I have to move the drag and drop stuff around.
Why would you have to move it around?
And it would be complex, because I need to manage the scroll position and what portion is displayed. Plus everytime the scroll is moved I would need to redraw that also.
Why? Isn't the scroll position managed by the object? If I'm not mistaken, the graphics object that you get in the paint even can tell you what portion is displayed, or rather, what portion you are supposed to draw in the event.
It doesn't fire scrolling events correctly, it doesn't internally invalidate areas of the panel like it should.
And have you noticed that drawing with paint never looks correct. Test it out and scroll. It gets choppy all over the place with tons of copies of your drawing everywhere.
I don't meen this to put you down, but it sounds like you are doing something wrong. Everything in the UI is using the same events as you do, and most of the time it works just fine.
Just because I call Invalidate doesn't mean I want to reset that position. I just want to redraw everything inside.
Then you should invalidate everything inside, not the container.
--- b { font-weight: normal; }