home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / COLORGRD.H < prev    next >
C/C++ Source or Header  |  1997-02-28  |  5KB  |  123 lines

  1. //---------------------------------------------------------------------------
  2. // Borland C++Builder
  3. // Copyright (c) 1987, 1997 Borland International Inc.  All Rights Reserved.
  4. //---------------------------------------------------------------------------
  5. #if !defined(ColorGrdHPP)
  6. #define ColorGrdHPP
  7. //----------------------------------------------------------------------------
  8. #include <Menus.hpp>
  9. #include <ExtCtrls.hpp>
  10. #include <Controls.hpp>
  11. #include <Forms.hpp>
  12. #include <Graphics.hpp>
  13. #include <Classes.hpp>
  14. #include <Messages.hpp>
  15. #include <Windows.hpp>
  16. #include <System.hpp>
  17. #include <consts.hpp>
  18.  
  19. //-- type declarations -------------------------------------------------------
  20. enum TGridOrdering { go16x1, go8x2, go4x4, go2x8, go1x16 };
  21.  
  22. class TColorGrid : public TCustomControl
  23. {
  24. private:
  25.     TPaletteEntry FPaletteEntries[20];
  26.     Boolean FClickEnablesColor;
  27.     Integer FForegroundIndex;
  28.     Integer FBackgroundIndex;
  29.     Boolean FForegroundEnabled;
  30.     Boolean FBackgroundEnabled;
  31.     Integer FSelection;
  32.     Integer FCellXSize;
  33.     Integer FCellYSize;
  34.     Integer FNumXSquares;
  35.     Integer FNumYSquares;
  36.     TGridOrdering FGridOrdering;
  37.     Boolean FHasFocus;
  38.     TNotifyEvent FOnChange;
  39.     TMouseButton FButton;
  40.     Boolean FButtonDown;
  41.     void __fastcall DrawSquare(Integer Which, Boolean ShowSelector);
  42.     void __fastcall DrawFgBg(void);
  43.     void __fastcall UpdateCellSizes(Boolean DoRepaint);
  44.     void __fastcall SetGridOrdering(TGridOrdering Value);
  45.     TColor __fastcall GetForegroundColor(void);
  46.     TColor __fastcall GetBackgroundColor(void);
  47.     void __fastcall SetForegroundIndex(Integer Value);
  48.     void __fastcall SetBackgroundIndex(Integer Value);
  49.     void __fastcall SetSelection(Integer Value);
  50.     void __fastcall EnableForeground(Boolean Value);
  51.     void __fastcall EnableBackground(Boolean Value);
  52.     MESSAGE void __fastcall WMSetFocus(TWMSetFocus &Message);
  53.     MESSAGE void __fastcall WMKillFocus(TWMKillFocus &Message);
  54.     MESSAGE void __fastcall WMGetDlgCode(TWMNoParams &Message);
  55.     MESSAGE void __fastcall WMSize(TWMSize &Message);
  56.     MESSAGE void __fastcall CMCtl3DChanged(TMessage &Message);
  57.     
  58. protected:
  59.     virtual void __fastcall KeyDown(Word &Key,  TShiftState Shift);
  60.     virtual void __fastcall MouseDown(TMouseButton Button,  TShiftState Shift, Integer X, Integer Y);
  61.     virtual void __fastcall MouseMove( TShiftState Shift, Integer X, Integer Y);
  62.     virtual void __fastcall MouseUp(TMouseButton Button,  TShiftState Shift, Integer X, Integer Y);
  63.     virtual void __fastcall CreateWnd(void);
  64.     virtual void __fastcall Paint(void);
  65.     virtual void __fastcall Change(void);
  66.     Integer __fastcall SquareFromPos(Integer X, Integer Y);
  67.     
  68. public:
  69.     __fastcall virtual TColorGrid(TComponent *AOwner);
  70.     __property TColor ForegroundColor = {read=GetForegroundColor, nodefault};
  71.     __property TColor BackgroundColor = {read=GetBackgroundColor, nodefault};
  72.     
  73. __published:
  74.     __property Boolean ClickEnablesColor = {read=FClickEnablesColor, write=FClickEnablesColor, default=0
  75.         };
  76.     __property Ctl3D ;
  77.     __property DragCursor ;
  78.     __property DragMode ;
  79.     __property Enabled ;
  80.     __property TGridOrdering GridOrdering = {read=FGridOrdering, write=SetGridOrdering, default=2};
  81.     __property Integer ForegroundIndex = {read=FForegroundIndex, write=SetForegroundIndex, default=0};
  82.     __property Integer BackgroundIndex = {read=FBackgroundIndex, write=SetBackgroundIndex, default=0};
  83.     __property Boolean ForegroundEnabled = {read=FForegroundEnabled, write=EnableForeground, default=1}
  84.         ;
  85.     __property Boolean BackgroundEnabled = {read=FBackgroundEnabled, write=EnableBackground, default=1}
  86.         ;
  87.     __property Font ;
  88.     __property ParentCtl3D ;
  89.     __property ParentFont ;
  90.     __property ParentShowHint ;
  91. //     __property PopUpMenu ;
  92.     __property Integer Selection = {read=FSelection, write=SetSelection, default=0};
  93.     __property ShowHint ;
  94.     __property TabOrder ;
  95.     __property TabStop ;
  96.     __property Visible ;
  97.     __property TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  98.     __property OnClick ;
  99.     __property OnDragDrop ;
  100.     __property OnDragOver ;
  101.     __property OnEndDrag ;
  102.     __property OnEnter ;
  103.     __property OnExit ;
  104.     __property OnKeyDown ;
  105.     __property OnKeyPress ;
  106.     __property OnKeyUp ;
  107.     __property OnMouseDown ;
  108.     __property OnMouseMove ;
  109.     __property OnMouseUp ;
  110. BEGIN_MESSAGE_MAP
  111.     MESSAGE_HANDLER(WM_SIZE, TWMSize, WMSize);
  112.     MESSAGE_HANDLER(WM_SETFOCUS, TWMSetFocus, WMSetFocus);
  113.     MESSAGE_HANDLER(WM_KILLFOCUS, TWMKillFocus, WMKillFocus);
  114.     MESSAGE_HANDLER(WM_GETDLGCODE, TWMNoParams, WMGetDlgCode);
  115.     MESSAGE_HANDLER(CM_CTL3DCHANGED,TMessage, CMCtl3DChanged);
  116. END_MESSAGE_MAP(TCustomControl);
  117. };
  118.  
  119. //-- var, const, procedure ---------------------------------------------------
  120. #define NumPaletteEntries Byte(20)
  121. //-- end unit ----------------------------------------------------------------
  122. #endif    // ColorGrd
  123.