[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'Controls' (#lcl)

# TControl.InvalidateControl

Requests a repaint of the control.

## Declaration

Source position: controls.pp line 1507

`protected procedure TControl.InvalidateControl(`
`CtrlIsVisible: Boolean;`
`CtrlIsOpaque: Boolean`
`); procedure TControl.InvalidateControl(`
`CtrlIsVisible: Boolean;`
`CtrlIsOpaque: Boolean;`
`IgnoreWinControls: Boolean`
`);`

## Arguments

`CtrlIsVisible` |  | True if the control is visible.
`CtrlIsOpaque` |  | True if the control use an opaque drawing style.

## Arguments

`CtrlIsVisible` |  | True if the control is visible.
`CtrlIsOpaque` |  | True if the control use an opaque drawing style.
`IgnoreWinControls` |  | True if TWinControl descendants are ignored in the method.

## Description

InvalidateControl is an overloaded method used to redraw the bounds rectangle for control. No actions are performed in the method if the Parent control or its Handle are not assigned, during LCL component streaming, or when the control is being freed.

When CtrlIsVisible is set to True or the control has a visible design surface, the InvalidateRect routine is called. The BoundsRect for the control is erased and redrawn when the control uses an opaque drawing style, or when it occludes a sibling control in its Parent.

InvalidateControl is called from methods like Invalidate and ChangeBounds, and when a new value is assigned to the Visible property.

## See also

TControl.Invalidate |  | Causes a delayed Repaint of the control by marking its visible area of the control as invalid.
TControl.ChangeBounds |  | Sets the bounds (left, top, height, width) and optionally the BaseBounds of the control.
TControl.Visible |  | Allows the control, and all of its children, to be displayed or hidden.
TControl.VisibleChanged |  | Notifies all chtOnVisibleChanged handlers for the control.
TControl.CMVisibleChanged |  | Handles a CM_VISIBLECHANGED message for the control.