How to get control clip region?

J

Julie

How do you retrieve the visible clipping region for a control?

I have a control where I do some on-screen drawing (specifically
ControlPaint.DrawReversibleLine()), however I need to clip the line to the
visible bounds of my control.

Obviously, the client rect is simple enough to retrieve, but what I need to do
is to clip the line segment to only that portion of the control that is
visible, which may _not_ correspond to the client rect if there is some other
window partially obscuring my control.

In my tests, Control.CreateGraphics().ClipBounds() is returning an 'infinite'
rectangle.

Anyone have any pointers on how to do what I want in .Net?
 
J

Julie

Julie said:
How do you retrieve the visible clipping region for a control?

I have a control where I do some on-screen drawing (specifically
ControlPaint.DrawReversibleLine()), however I need to clip the line to
the visible bounds of my control.

Obviously, the client rect is simple enough to retrieve, but what I need
to do is to clip the line segment to only that portion of the control
that is visible, which may _not_ correspond to the client rect if there
is some other window partially obscuring my control.

In my tests, Control.CreateGraphics().ClipBounds() is returning an
'infinite' rectangle.

Anyone have any pointers on how to do what I want in .Net?

Anyone have any comments? Is it clear what I'm after?

Thanks
 
G

Guest

Julie,

You can use the ClientRectangle property.

In your Paint overrides, there is a parameter ClipRectangle.

Tom T.
 

Ask a Question

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.

Ask a Question

Top