home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_03_04 / 3n04062b < prev    next >
Text File  |  1991-09-14  |  1KB  |  42 lines

  1. /******************************************************
  2.                WndExtra Access Functions
  3.  
  4. Description:
  5.    The following functions access data whose offset
  6. is specified as a negative index from the end
  7. of the class's wndExtra data block.  This allows
  8. the same data to be added to multiple subclasses,
  9. even though their superclasses have variable length
  10. wndExtra data blocks.
  11.    In each function, the size of the wndExtra data block
  12. is first retrieved, then the Windows-compatible offset
  13. is calculated and passed to the corresponding Windows
  14. function.
  15.  
  16. Author:  Gregory C. Peters
  17. ******************************************************/
  18.  
  19. WORD pSetWindowWord(HWND hWnd, int offset, WORD value)
  20. {
  21.    WORD wndExtra = GetClassWord(hWnd, GCW_CBWNDEXTRA);
  22.    return(SetWindowWord(hWnd, wndExtra + offset, value));
  23. }
  24.  
  25. WORD pGetWindowWord(HWND hWnd, int offset)
  26. {
  27.    WORD wndExtra = GetClassWord(hWnd, GCW_CBWNDEXTRA);
  28.    return(GetWindowWord(hWnd, wndExtra + offset));
  29. }
  30.  
  31. LONG pSetWindowLong(HWND hWnd, int offset, DWORD value)
  32. {
  33.    WORD wndExtra = GetClassWord(hWnd, GCW_CBWNDEXTRA);
  34.    return(SetWindowLong(hWnd, wndExtra + offset, value));
  35. }
  36.  
  37. LONG pGetWindowLong(HWND hWnd, int offset)
  38. {
  39.    WORD wndExtra = GetClassWord(hWnd, GCW_CBWNDEXTRA);
  40.    return(GetWindowLong(hWnd, wndExtra + offset));
  41. }
  42.