home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / dovetail.zip / sbutton.cc < prev    next >
C/C++ Source or Header  |  1994-04-07  |  2KB  |  59 lines

  1. #include "sbutton.h"
  2.  
  3. Sbutton::Sbutton(HWND hParent, ULONG ulId) : Control(hParent, ulId)
  4. {
  5. }
  6.  
  7.  
  8. Sbutton::Sbutton(HWND hParent, ULONG ulId, SHORT xp, SHORT yp, SHORT dx,
  9.                  SHORT dy, ULONG ulStyle)
  10.   : Control()
  11.    {
  12.     //  Create a spin button.
  13.  
  14.    hWnd = WinCreateWindow(
  15.               hParent,       /* Parent Window Handle */
  16.               WC_SPINBUTTON,     /* Button Window class */
  17.               NULL,         /* Button Title */
  18.               ulStyle,
  19.               xp,
  20.               yp,
  21.               dx,
  22.               dy,
  23.               hParent,       /* Owner Window Handle */
  24.               HWND_TOP,      /* Top of Z order */
  25.               ulId,          /* Window ID */
  26.               (PVOID)NULL,   /* Control Data Structure */
  27.               (PVOID)NULL);  /* no presentation parameters */
  28.   fCreated = TRUE;
  29. }
  30.  
  31. // return value of spin button
  32. Sbutton::operator LONG()
  33. {
  34. LONG val;
  35.    WinSendMsg( hWnd,     /* my window handle */
  36.                SPBM_QUERYVALUE, /* Message for querrying buttons */
  37.                MPFROMP(&val),
  38.                MPFROM2SHORT(0,SPBQ_DONOTUPDATE));
  39.  return val;
  40. }
  41.  
  42. // set range for numeric spin buttons
  43. VOID Sbutton::SetRange(LONG lLow, LONG lHigh)
  44. {
  45.   WinSendMsg(hWnd,SPBM_SETLIMITS,MPFROMLONG(lHigh),MPFROMLONG(lLow));
  46. }
  47.  
  48. // set current value of spin button
  49. VOID Sbutton::SetValue(LONG lValue)
  50. {
  51.   WinSendMsg(hWnd,SPBM_SETCURRENTVALUE, MPFROMLONG(lValue),NULL);
  52. }
  53.  
  54. // set array for array based spin buttons
  55. VOID Sbutton::SetArray(char **data, USHORT num)
  56. {
  57.   WinSendMsg(hWnd,SPBM_SETARRAY,MPFROMP(data),(MPARAM)num);
  58. }
  59.