home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ool.zip / OOL / source / xscrlbar.cpp < prev    next >
C/C++ Source or Header  |  1997-04-05  |  1KB  |  48 lines

  1. #include "xscrlbar.h"
  2.  
  3.  
  4. /*@ 
  5. @class XScrollBar
  6. @parent XControl
  7. @type overview
  8. @symbol _
  9. */
  10.  
  11.  
  12. XScrollBar :: XScrollBar(const XWindow * owner, const XRect * rec, const USHORT id, const ULONG style):XControl(rec, style | WS_VISIBLE, owner, "", WC_SCROLLBAR, id)
  13. {
  14. }
  15.  
  16.  
  17. BOOL XScrollBar::SetPos(const LONG pos) const
  18. {
  19.     return (BOOL) WinSendMsg(winhandle, SBM_SETPOS, MPFROMSHORT(pos), 0);
  20. }
  21.  
  22.  
  23. BOOL XScrollBar::SetRange(const SHORT first, const SHORT last, const SHORT sliderPos) const
  24. {
  25.     return (BOOL) WinSendMsg(winhandle, SBM_SETSCROLLBAR, MPFROMSHORT(sliderPos), MPFROM2SHORT(first, last));
  26. }
  27.  
  28.  
  29. BOOL XScrollBar::SetSliderSize(const SHORT visible, const SHORT total) const
  30. {
  31.     return (BOOL) WinSendMsg(winhandle, SBM_SETTHUMBSIZE, MPFROM2SHORT(visible, total), 0);
  32. }
  33.  
  34.  
  35. SHORT XScrollBar::GetPos(void) const
  36. {
  37.     return SHORT1FROMMR(WinSendMsg(winhandle, SBM_QUERYPOS, 0, 0));
  38. }
  39.  
  40.  
  41. void XScrollBar::GetRange(SHORT & first, SHORT & last)
  42. {
  43.     MRESULT mr = WinSendMsg(winhandle, SBM_QUERYRANGE, 0, 0);
  44.  
  45.     first = SHORT1FROMMR(mr);
  46.     last = SHORT2FROMMR(mr);
  47. }
  48.