WinPtInRect
Appearance
This function queries whether a point lies within a rectangle.
Syntax
WinPtInRect(hab, prcl, pptl)
Parameters
- hab (HAB) - Input
- Anchor-block handle.
- prcl (PRECTL) - Input
- Rectangle to be queried.
- Note
- The value of each field in this structure must be in the range -32 768 through 32 767. The data type WRECT may also be used, if supported by the language.
- pptl (PPOINTL) - Input
- Point to be queried.
Returns
- rc (BOOL) - returns
- Success indicator.
- TRUE
- pptl lies within prcl.
- FALSE
- pptl does not lie within prcl, or an error occurred.
Remarks
(No additional remarks were provided in the original text.)
Errors
Possible returns from WinGetLastError: (No specific errors were listed in the provided text.)
Example Code
#define INCL_WINRECTANGLES /* Or use INCL_WIN, INCL_PM, */ #include <os2.h> HAB hab; /* Anchor-block handle. */ PRECTL prcl; /* Rectangle to be queried. */ PPOINTL pptl; /* Point to be queried. */ BOOL rc; /* Success indicator. */ rc = WinPtInRect(hab, prcl, pptl);
This example processes a WM_BUTTON1UP message, converts the mouse pointer coordinates into a POINTL structure, and calls WinPtInRect to determine if the mouse was clicked in the predefined global rectangle.
#define INCL_WIN #define INCL_WINRECTANGLES #include <OS2.H> HAB hab; /* anchor-block handle */ /* . */ /* . */ RECTL rclGlobal; POINTL ptl; HPS hps; USHORT msg; MPARAM mp1; /* inside client window function */ switch(msg) { case WM_COMMAND: /* The user has chosen a menu item. Process the selection */ /* accordingly. */ switch ( SHORT1FROMMP( mp1 ) ) { case WM_BUTTON1UP: ptl.x = (LONG) SHORT1FROMMP(mp1); ptl.y = (LONG) SHORT2FROMMP(mp1); WinPtInRect(hab, /* anchor-block handle */ &rclGlobal, /* address of the rectangle */ &ptl); /* address of the point */ break; } break; }