This example shows how WinTrackRect can be used to allow a user size a rectangle on the screen.
#define INCL_WINTRACKRECT #include <os2.h> BOOL MyTrackRoutine(HAB hab, HPS hps, PRECTL rcl) { TRACKINFO track; track.cxBorder = 4; track.cyBorder = 4; /* 4 pel wide lines used for rectangle */ track.cxGrid = 1; track.cyGrid = 1; /* smooth tracking with mouse */ track.cxKeyboard = 8; track.cyKeyboard = 8; /* faster tracking using cursor keys */ WinCopyRect(hab, &track.rclTrack, rcl); /* starting point */ WinSetRect(hab, &track.rclBoundary, 0, 0, 640, 480); /* bounding rectangle */ track.ptlMinTrackSize.x = 10; track.ptlMinTrackSize.y = 10; /* set smallest allowed size of rectangle */ track.ptlMaxTrackSize.x = 200; track.ptlMaxTrackSize.y = 200; /* set largest allowed size of rectangle */ track.fs = TF_MOVE; if (WinTrackRect(HWND_DESKTOP, hps, &track) ) { /* if successful copy final position back */ WinCopyRect(hab, rcl, &track.rclTrack); return(TRUE); } else { return(FALSE); } }