D
Dan
I would like to draw an ellipse on a windows form and through mouse drags
stretch, rotate and relocate the ellipse.
Thanks in advance - Dan
stretch, rotate and relocate the ellipse.
Thanks in advance - Dan
I would like to draw an ellipse on a windows form and through mouse drags
stretch, rotate and relocate the ellipse.
Thanks in advance - Dan
Your question is fairly vague, so it'd be impossible to offer very
specific advice.
However, for the UI, handling the MouseDown, MouseMove, and MouseUp events
are useful for detecting and tracking mouse input.
For drawing the ellipse, assuming you just want to use the
Graphics.DrawEllipse() method, you'll probably want to set the Transform
property of the Graphics instance you're drawing into before calling
DrawEllipse(). The actual Matrix you use will be initialized based on the
user input, to apply the desired scaling, rotating, and translation.
Pete
Peter Duniho said:Not really. I mean, I already figured out all of that, and my reply
provided as much information as would be relevant for that degree of
detail.
If you find yourself with specific problems while implementing the mouse
handling and/or ellipse drawing, then please feel free to post the code
you've got, with details about what you expected it to do, what it's
actually doing, and why that's not what you want.
Other than that, there's really nothing more to offer, short of simply
writing the code for you (not something I'm interested in doing right now,
but I suppose you never know...maybe someone else would be).
Pete
Thanks Pete. As you can tell I am new to C# and will try to work my wayPeter Duniho said:That depends on how you're drawing the object in the first place. And on
what you mean by "highlighted". And on what you mean by "create".
Let's make some assumptions, since you haven't provided any details:
* We've got a data structure that's a collection of ellipses
* Each ellipse includes information as to size, rotation, and position
* We draw each ellipse based on this information whenever our form's
OnPaint() method is called
* We already have code in place to track mouse input
* By "highlighted" you simply mean the ellipse that is current being
adjusted by the user
Then, you'll want a way to identify which of the existing ellipses is the
one that's "highlighted", and when you are drawing all of the ellipses,
draw that one differently to indicate that it's been highlighted.
For the former, you could do it a variety of ways. Such as, keep a
reference to the "selected" object, and compare this "selected" reference
to the current object as you enumerate your collection of ellipses for
drawing. Alternatively, the objects themselves could maintain state with
respect to whether they are selected or not. You'd simply draw each
ellipse differently depending on this state. This alternative technique
has the advantage of more easily supporting multiple selected objects, but
has the disadvantage that your model data now also includes user-interface
state data.
I'm sorry if the above sounds vague. Unfortunately, it's not really
possible to provide specific advice without being presented with a
specific question.
Pete
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.