Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
SetWindowInputRectangle Method
Collapse the table of content
Expand the table of content

SetWindowInputRectangle Method

SetWindowInputRectangle Method

Sets the window rectangle, in pixels, within which ink is drawn.



        HRESULT SetWindowInputRectangle (
    [in] IInkRectangle* windowRectangle

[Microsoft® Visual Basic® 6.0]

        Public Sub SetWindowInputRectangle( _
    windowRectangle As InkRectangle _



[in] The rectangle, in window coordinates, on which ink is drawn.

Return Value

HRESULT valueDescription
E_POINTERA parameter contained an invalid pointer.
E_INVALIDARGThe rectangle coordinates are invalid (for example, width/height of 0).
E_INK_COLLECTOR_BUSYCannot update mappings while in the middle of a stroke.
E_INK_EXCEPTIONAn exception occurred inside the method.
E_INK_OVERLAPPING_INPUT_RECTThe window input rectangle overlaps with the window input rectangle of an enabled InkCollector.


The E_INK_OVERLAPPING_INPUT_RECT error is returned if the window input rectangle of an enabled ink collector (set with the Enabled property) overlaps the window input rectangle of another enabled ink collector.

Note: Overlap can occur without an error as long as only one of the input rectangles is enabled at any known time.

By default, the window input rectangle is set to {0,0,0,0}. This default rectangle maps to the size of the entire window.

To reset the window input rectangle to its default behavior (an empty rectangle with coordinates {0,0,0,0}), pass {0,0,0,0} in the call to SetWindowInputRectangle, and not NULL (Nothing in Visual Basic 6.0).

You cannot pass in a rectangle where the value of the Right property is less than the value of the Left property; or where the value of the Bottom property is less than the value of the Top property. For example, a rectangle with parameters of {500, 500, 400, 400} is not valid.

Caution: If you set the window input rectangle to overlap a splitter control or the borders of the window, unpredictable results may occur when the window is resized.


[Visual Basic 6.0]

This Visual Basic 6.0 example shows how to call SetWindowInputRectangle to set the input area to the screen.

        Option Explicit
Dim theInkCollector As InkCollector

Private Sub Form_Load()
    Dim theInkRect As New InkRectangle
    theInkRect.SetRectangle 0, 0, 0, 0

    Set theInkCollector = New InkCollector
    theInkCollector.hWnd = Me.hWnd
    theInkCollector.SetWindowInputRectangle theInkRect

    theInkCollector.Enabled = True
End Sub

Applies To

Related Topics

© 2015 Microsoft