home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / dho.zip / DHO / SRC / SLIDER.CC < prev    next >
C/C++ Source or Header  |  1995-08-27  |  3KB  |  132 lines

  1. /****************************************/
  2. /*    Developer Helper Object Set       */
  3. /*  (C) 1994-95 Thomas E. Bednarz, Jr.  */
  4. /*     All rights reserved              */
  5. /***************************************/
  6.  
  7. /* $Id: slider.cc 1.4 1995/08/13 03:21:12 teb Exp $ */
  8.  
  9.  
  10. #include"slider.h"
  11. #include"winbase.h"
  12. #include"object.h"
  13. #define INCL_WIN
  14. #define INCL_WINSTDSLIDER
  15. #include<os2.h>
  16.  
  17.  
  18. //-------------------------------------------------------------------
  19. //   TSlider
  20. TSlider::TSlider(TWinBase *parent, ULONG resource):
  21.     TControl(parent, resource)
  22. {
  23.  
  24. }
  25.  
  26.  
  27. //-------------------------------------------------------------------
  28. //   TSlider
  29. TSlider::TSlider(TWinBase *parent, Direction dir, SHORT x, SHORT y, SHORT width, SHORT height):
  30.      TControl(parent)
  31. {
  32.    ULONG sliderStyle;
  33.    SLDCDATA sldcData;
  34.  
  35.    sldcData.cbSize = sizeof(SLDCDATA);
  36.    sldcData.usScale1Increments = 6;
  37.    sldcData.usScale1Spacing = 0;
  38.  
  39.    sliderStyle = SLS_PRIMARYSCALE1 | SLS_BUTTONSRIGHT;
  40.  
  41.    if (dir == horizontal)
  42.       sliderStyle |= SLS_HORIZONTAL;
  43.    else
  44.       sliderStyle |= SLS_VERTICAL;
  45.  
  46.    hwndControl = WinCreateWindow(
  47.                      fParent->getHWND(),
  48.                      WC_SLIDER,
  49.                      (PSZ)NULL,
  50.                      sliderStyle,
  51.                      x,y,width, height,
  52.                      fParent->getHWND(),
  53.                      HWND_TOP,
  54.                      100,
  55.                      &sldcData,
  56.                      (PVOID)NULL);
  57.  
  58. }
  59.  
  60.  
  61. //-------------------------------------------------------------------
  62. //   ~TSlider
  63. TSlider::~TSlider()
  64. {
  65.  
  66. }
  67.  
  68.  
  69. //-------------------------------------------------------------------
  70. //   placeAtTick
  71. void TSlider::placeAtTick(SHORT no)
  72. {
  73.    SendMessage(SLM_SETSLIDERINFO,
  74.                  MPFROM2SHORT(SMA_SLIDERARMPOSITION,
  75.                                     SMA_INCREMENTVALUE),
  76.                  (MPARAM)no);
  77. }
  78.  
  79.  
  80. //-------------------------------------------------------------------
  81. //   tickSize
  82. void TSlider::tickSize(SHORT pix)
  83. {
  84.    SendMessage(SLM_SETTICKSIZE,
  85.                  MPFROM2SHORT(SMA_SETALLTICKS,
  86.                                     pix),
  87.                  (MPARAM)NULL);
  88.  
  89. }
  90.  
  91.  
  92. //-------------------------------------------------------------------
  93. //   setTickText
  94. void TSlider::setTickText(SHORT tick, CHAR *text)
  95. {
  96.    SendMessage(SLM_SETSCALETEXT,
  97.                  MPFROMSHORT(tick),
  98.                  MPFROMP(text));
  99.  
  100. }
  101.  
  102.  
  103. //-------------------------------------------------------------------
  104. //   DetentShaftCenter
  105. void TSlider::DetentShaftCenter(void)
  106. {
  107.    MRESULT armpos = SendMessage((ULONG)SLM_QUERYSLIDERINFO,(MPARAM)MPFROM2SHORT((USHORT)SMA_SLIDERARMPOSITION,
  108.                  (USHORT)SMA_RANGEVALUE), NULL);
  109.  
  110.     SendMessage(SLM_ADDDETENT,armpos, NULL);
  111. }
  112.  
  113.  
  114.  
  115. //-------------------------------------------------------------------
  116. //   getSliderPos
  117. ULONG TSlider::getSliderPos()
  118. {
  119.    ULONG armpos = (ULONG)SendMessage(SLM_QUERYSLIDERINFO,
  120.                                 MPFROM2SHORT(SMA_SLIDERARMPOSITION,SMA_INCREMENTVALUE),
  121.                                 (MPARAM)NULL);
  122.    return armpos;
  123. }
  124.  
  125.  
  126. //-------------------------------------------------------------------
  127. //   getClassName
  128. const char *TSlider::getClassName()
  129. {
  130.    return "TSlider";
  131. }
  132.