home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 May / Pcwk5b98.iso / Borland / Cplus45 / BC45 / SCROLLER.PAK / SCROLLEX.CPP < prev   
C/C++ Source or Header  |  1995-08-29  |  2KB  |  62 lines

  1. //----------------------------------------------------------------------------
  2. // ObjectWindows - (C) Copyright 1991, 1993 by Borland International
  3. //----------------------------------------------------------------------------
  4. #include <owl\owlpch.h>
  5. #include <owl\applicat.h>
  6. #include <owl\framewin.h>
  7. #include <owl\scroller.h>
  8. #include <owl\dc.h>
  9.  
  10. class TScrollWindow : public TFrameWindow {
  11.   public:
  12.     TScrollWindow(const char* title);
  13.     void Paint(TDC& dc, BOOL, TRect&);
  14. };
  15.  
  16. //
  17. // Constructor for a TScrollWindow, sets scroll styles and
  18. // constructs the Scroller object.
  19. //
  20. TScrollWindow::TScrollWindow(const char* title)
  21.   : TWindow(0, title),
  22.     TFrameWindow(0, title)
  23. {
  24.   Attr.Style |= WS_VSCROLL | WS_HSCROLL;
  25.   Scroller = new TScroller(this, 7, 16, 80, 60);
  26. }
  27.  
  28. //
  29. // Responds to an incoming "paint" message by redrawing boxes. Note
  30. // that the Scroller's BeginView method, which sets the viewport origin
  31. // relative to the present scroll position, has already been called. 
  32. //
  33. void
  34. TScrollWindow::Paint(TDC& dc, BOOL, TRect&)
  35. {
  36.   for (int i = 0; i <= 49; i++) {
  37.     int x = 10 + i*8;
  38.     int y = 30 + i*5;
  39.     int w = x;
  40.     int h = y * 2;
  41. //    if (Scroller->IsVisibleRect((x-Scroller->XUnit/2)/Scroller->XUnit,
  42. //                                (y-Scroller->YUnit/2)/Scroller->YUnit, 
  43. //                                (w+Scroller->XUnit/2)/Scroller->XUnit,
  44. //                                (h+Scroller->YUnit/2)/Scroller->YUnit))
  45.       dc.Rectangle(x, y, x+w, y+h);
  46.   }
  47. }
  48.  
  49. //----------------------------------------------------------------------------
  50.  
  51. class TScrollApp : public TApplication {
  52.   public:
  53.     TScrollApp() : TApplication("ScrollApp") {}
  54.     void InitMainWindow() {MainWindow = new TScrollWindow("Boxes");}
  55. };
  56.  
  57. int
  58. OwlMain(int /*argc*/, char* /*argv*/ [])
  59. {
  60.   return TScrollApp().Run();
  61. }
  62.