How to get control clip region?

  • Thread starter Thread starter Julie
  • Start date Start date
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?
 
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
 
Julie,

You can use the ClientRectangle property.

In your Paint overrides, there is a parameter ClipRectangle.

Tom T.
 
Back
Top