How to build a "Paint" like screen?

We all know the "Paint" program that comes with Windows OP. I am trying to build an application similar to its GUI. For the logic algorithm - backend - and code behind I am actually half way, but for representing my data on the screen and allow the user to do some processes and manipulation on the data is what I can't think on how to achieve it.

So, I have a bunch of 2d coordinates, like a 1000, that represent a curved line or a connected shape, or multiple lines/shapes in one view, and I want to draw it for the user on the screen (imagine Paint) so the user will see his "shape" in front of him and some tools and settings aside that he can use or apply on the shape. Some features would be:

For one single shape (function)

- Click two points and make them parallel to the x-axis. The whole shape(function) shall rotate in order for those two points to fit on the x-axis
- Hoover the mouse on a coordinate/pixel to view its coordinates/data
- Click one point to calculate its distance from x-axis
- Click two points to calculate the distance between them

For multiple shapes:

- Click 4 points, two from each, and fit both lines on each other. Both shapes should rotate to fit
- Click to calculate distances similar to above

And these sort of things. Now my question is, which element would I need for my coordinate system? I mean, we have buttons, pictureboxes, textboxes, lables.. etc but, for my case, what would it be? What type or what control? So if you open Paint and see the white "paper" where you can draw stuff on it, what is that object?
Last edited on
It's up to you. You can even make it in OpenGL/DirectX if you so wish. I think Paint does it using GDI+.
What do you use - WinApi MFC .NET ?

Topic archived. No new replies allowed.