home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 January / Chip_1999-01_cd.bin / zkuste / delphi / D3 / EDTOOL.ZIP / PVLDEDIT.HPP < prev    next >
C/C++ Source or Header  |  1998-10-07  |  7KB  |  194 lines

  1. //----------------------------------------------------------------------------
  2. // pvlDedit.hpp - bcbdcc32 generated hdr (DO NOT EDIT) rev: 0
  3. // From: pvlDedit.pas
  4. //----------------------------------------------------------------------------
  5. #ifndef pvlDeditHPP
  6. #define pvlDeditHPP
  7. //----------------------------------------------------------------------------
  8. #include <Graphics.hpp>
  9. #include <SysUtils.hpp>
  10. #include <Windows.hpp>
  11. #include <Messages.hpp>
  12. #include <Forms.hpp>
  13. #include <Classes.hpp>
  14. #include <Controls.hpp>
  15. #include <Grids.hpp>
  16. #include <ExtCtrls.hpp>
  17. #include <Buttons.hpp>
  18. #include <System.hpp>
  19. namespace Pvldedit
  20. {
  21. //-- type declarations -------------------------------------------------------
  22. class __declspec(delphiclass) TpvlSpeedButton;
  23. class __declspec(pascalimplementation) TpvlSpeedButton : public Buttons::TSpeedButton
  24. {
  25.     typedef Buttons::TSpeedButton inherited;
  26.     
  27. private:
  28.     Extctrls::TTimer* FRepeatTimer;
  29.     void __fastcall TimerExpired(System::TObject* p0);
  30.     
  31. protected:
  32.     virtual void __fastcall MouseDown(Controls::TMouseButton p0, Classes::TShiftState p1, int p2, int p3
  33.         );
  34.     virtual void __fastcall MouseUp(Controls::TMouseButton p0, Classes::TShiftState p1, int p2, int p3)
  35.         ;
  36.     
  37. public:
  38.     __fastcall virtual ~TpvlSpeedButton(void);
  39. public:
  40.     /* TSpeedButton.Create */ __fastcall virtual TpvlSpeedButton(Classes::TComponent* AOwner) : Buttons::
  41.         TSpeedButton(AOwner) { }
  42.     
  43. };
  44.  
  45. class __declspec(delphiclass) TPvlGridColors;
  46. class __declspec(pascalimplementation) TPvlGridColors : public Classes::TPersistent
  47. {
  48.     typedef Classes::TPersistent inherited;
  49.     
  50. private:
  51.     Graphics::TColor fNormalColor;
  52.     Graphics::TColor fHighlightColor;
  53.     Graphics::TColor fInvalidColor;
  54.     Graphics::TColor fTodayColor;
  55.     bool fShowToday;
  56.     Graphics::TColor fCalColor;
  57.     
  58. public:
  59.     __fastcall TPvlGridColors(void);
  60.     
  61. __published:
  62.     __property Graphics::TColor CalColor = {read=fCalColor, write=fCalColor, default=16777215};
  63.     __property bool ShowToday = {read=fShowToday, write=fShowToday, default=1};
  64.     __property Graphics::TColor NormalColor = {read=fNormalColor, write=fNormalColor, default=0};
  65.     __property Graphics::TColor HighlightColor = {read=fHighlightColor, write=fHighlightColor, default=255
  66.         };
  67.     __property Graphics::TColor InvalidColor = {read=fInvalidColor, write=fInvalidColor, default=16711680
  68.         };
  69.     __property Graphics::TColor TodayColor = {read=fTodayColor, write=fTodayColor, default=255};
  70. public:
  71.         
  72.     /* TObject.Destroy */ __fastcall virtual ~TPvlGridColors(void) { }
  73.     
  74. };
  75.  
  76. enum TDayOfWeek { Sun, Mon, Tue, Wed, Thur, Fri, Sat };
  77.  
  78. typedef Set<TDayOfWeek, Sun, Sat>  TpvlDaySet;
  79.  
  80. class __declspec(delphiclass) TPvlCustomDateEditCalendar;
  81. class __declspec(pascalimplementation) TPvlCustomDateEditCalendar : public Grids::TCustomGrid
  82. {
  83.     typedef Grids::TCustomGrid inherited;
  84.     
  85. private:
  86.     System::TDateTime FDate;
  87.     int FMonthOffset;
  88.     Classes::TNotifyEvent FOnChange;
  89.     TDayOfWeek FStartOfWeek;
  90.     bool FUpdating;
  91.     System::AnsiString __fastcall GetCellText(int p0, int p1);
  92.     int __fastcall GetDateElement(int p0);
  93.     void __fastcall SetCalendarDate(System::TDateTime p0);
  94.     void __fastcall SetDateElement(int p0, int p1);
  95.     
  96. protected:
  97.     virtual void __fastcall Change(void);
  98.     virtual void __fastcall DrawCell(long p0, long p1, const Windows::TRect &pvlDedit_, Grids::TGridDrawState 
  99.         p3);
  100.     virtual bool __fastcall SelectCell(long p0, long p1);
  101.     HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &pvlDedit_);
  102.     
  103. public:
  104.     TPvlGridColors* colors;
  105.     TpvlDaySet Highlightdays;
  106.     TpvlDaySet Invaliddays;
  107.     Classes::TList* Highlightdates;
  108.     Classes::TList* Invaliddates;
  109.     __fastcall virtual TPvlCustomDateEditCalendar(Classes::TComponent* p0);
  110.     __property System::TDateTime Date = {read=FDate, write=SetCalendarDate};
  111.     __property System::AnsiString CellText[int ACol][int ARow] = {read=GetCellText};
  112.     void __fastcall UpdateCalendar(void);
  113.     __property int Day = {read=GetDateElement, write=SetDateElement, index=3, nodefault};
  114.     __property int Month = {read=GetDateElement, index=2, nodefault};
  115.     __property int Year = {read=GetDateElement, index=1, nodefault};
  116.     __property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  117. public:
  118.     /* TCustomGrid.Destroy */ __fastcall virtual ~TPvlCustomDateEditCalendar(void) { }
  119.     
  120. public:
  121.     /* TWinControl.CreateParented */ __fastcall TPvlCustomDateEditCalendar(HWND ParentWindow) : Grids::
  122.         TCustomGrid(ParentWindow) { }
  123.     
  124. };
  125.  
  126. class __declspec(delphiclass) TFrmVisDateEdit;
  127. class __declspec(pascalimplementation) TFrmVisDateEdit : public Forms::TForm
  128. {
  129.     typedef Forms::TForm inherited;
  130.     
  131. __published:
  132.     void __fastcall NowClick(System::TObject* p0);
  133.     void __fastcall YrDnClick(System::TObject* p0);
  134.     void __fastcall MthDnClick(System::TObject* p0);
  135.     void __fastcall MthUpClick(System::TObject* p0);
  136.     void __fastcall YrUpClick(System::TObject* p0);
  137.     void __fastcall CalDblClick(System::TObject* p0);
  138.     void __fastcall FormClose(System::TObject* p0, Forms::TCloseAction &p1);
  139.     void __fastcall FormKeyUp(System::TObject* p0, Word &p1, Classes::TShiftState p2);
  140.     void __fastcall DateChange(System::TObject* p0);
  141.     void __fastcall FormShow(System::TObject* p0);
  142.     
  143. private:
  144.     System::TDateTime olddate;
  145.     int oldminmaxhandler;
  146.     Controls::TControl* capture;
  147.     virtual void __fastcall CreateParams(Controls::TCreateParams &pvlDedit_);
  148.     virtual void __fastcall loaded(void);
  149.     HIDESBASE MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &pvlDedit_);
  150.     HIDESBASE MESSAGE void __fastcall WMLButtonUp(Messages::TWMMouse &pvlDedit_);
  151.     HIDESBASE MESSAGE void __fastcall WMMOUSEMOVE(Messages::TWMMouse &pvlDedit_);
  152.     HIDESBASE MESSAGE void __fastcall WMLBUTTONDBLCLK(Messages::TWMMouse &pvlDedit_);
  153.     
  154. public:
  155.     TPvlCustomDateEditCalendar* Cal;
  156.     Extctrls::TPanel* Panel1;
  157.     Buttons::TSpeedButton* btnNow;
  158.     Buttons::TSpeedButton* YrUp;
  159.     Buttons::TSpeedButton* YrDn;
  160.     Buttons::TSpeedButton* MthUp;
  161.     Buttons::TSpeedButton* MthDn;
  162.     __fastcall virtual ~TFrmVisDateEdit(void);
  163. public:
  164.     /* TForm.Create */ __fastcall virtual TFrmVisDateEdit(Classes::TComponent* AOwner) : Forms::TForm(AOwner
  165.         ) { }
  166.     /* TForm.CreateNew */ __fastcall TFrmVisDateEdit(Classes::TComponent* AOwner, int Dummy) : Forms::TForm(
  167.         AOwner, Dummy) { }
  168.     
  169. public:
  170.     /* TWinControl.CreateParented */ __fastcall TFrmVisDateEdit(HWND ParentWindow) : Forms::TForm(ParentWindow
  171.         ) { }
  172.     
  173. };
  174.  
  175. enum TMDY { TYear, TMonth, TDay };
  176.  
  177. enum TDateStatus { dsActive, dsHighlight, dsInvalid };
  178.  
  179. //-- var, const, procedure ---------------------------------------------------
  180. #define InitRepeatPause (Word)(400)
  181. #define RepeatPause (Byte)(100)
  182. extern TDateStatus __fastcall pvlgetdatestatus(System::TDateTime p0, TpvlDaySet p1, TpvlDaySet p2, Classes::TList* 
  183.     p3, Classes::TList* p4);
  184. extern System::TDateTime __fastcall incdecDate(System::TDateTime p0, bool p1, bool p2, TMDY p3);
  185. //-- template instantiations -------------------------------------------------
  186. template class TpvlDaySet ;
  187.  
  188. }    /* namespace Pvldedit */
  189. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  190. using namespace Pvldedit;
  191. #endif
  192. //-- end unit ----------------------------------------------------------------
  193. #endif    // pvlDedit
  194.