// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Advdatetimepicker.pas' rev: 10.00

#ifndef AdvdatetimepickerHPP
#define AdvdatetimepickerHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Stdctrls.hpp>	// Pascal unit
#include <Comctrls.hpp>	// Pascal unit
#include <Commctrl.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Advdatetimepicker
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TAdvDateTimeKind { dkDate, dkTime, dkDateTime };
#pragma option pop

class DELPHICLASS TCustomDateTimePicker;
class PASCALIMPLEMENTATION TCustomDateTimePicker : public Comctrls::TDateTimePicker 
{
	typedef Comctrls::TDateTimePicker inherited;
	
private:
	Forms::TFormBorderStyle FBorderStyle;
	Graphics::TColor FBorderColor;
	bool FIsThemed;
	HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
	HIDESBASE MESSAGE void __fastcall WMNCPaint(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
	HIDESBASE MESSAGE void __fastcall CMCtl3DChanged(Messages::TMessage &Message);
	void __fastcall NCPaintProc(void);
	void __fastcall SetBorderColor(const Graphics::TColor Value);
	
protected:
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
	virtual void __fastcall CreateWnd(void);
	virtual void __fastcall SetBorderStyle(const Forms::TBorderStyle Value);
	__property Forms::TBorderStyle BorderStyle = {read=FBorderStyle, write=SetBorderStyle, nodefault};
	__property Graphics::TColor BorderColor = {read=FBorderColor, write=SetBorderColor, default=0};
	
public:
	__fastcall virtual TCustomDateTimePicker(Classes::TComponent* AOwner);
	__fastcall virtual ~TCustomDateTimePicker(void);
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TCustomDateTimePicker(HWND ParentWindow) : Comctrls::TDateTimePicker(ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TAdvDateTimePicker;
class PASCALIMPLEMENTATION TAdvDateTimePicker : public TCustomDateTimePicker 
{
	typedef TCustomDateTimePicker inherited;
	
private:
	TAdvDateTimeKind FKind;
	Classes::TNotifyEvent FOnTimeChange;
	void __fastcall OnTimePickerChanged(System::TObject* Sender);
	void __fastcall OnTimePickerClicked(System::TObject* Sender);
	HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
	HIDESBASE void __fastcall SetKind(const TAdvDateTimeKind Value);
	HIDESBASE MESSAGE void __fastcall CMColorChanged(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message);
	TTime __fastcall GetTimeEx(void);
	void __fastcall SetTimeEx(const TTime Value);
	System::TDateTime __fastcall GetDateTimeEx(void);
	AnsiString __fastcall GetFormatEx();
	void __fastcall SetFormatEx(const AnsiString Value);
	AnsiString __fastcall GetTimeFormat();
	void __fastcall SetTimeFormat(const AnsiString Value);
	AnsiString __fastcall GetVersion();
	void __fastcall SetVersion(const AnsiString Value);
	
protected:
	TCustomDateTimePicker* FTimePicker;
	void __fastcall CreateTimePicker(void);
	void __fastcall UpdateTimePicker(void);
	virtual void __fastcall SetBorderStyle(const Forms::TBorderStyle Value);
	virtual void __fastcall CreateWnd(void);
	virtual void __fastcall TimePickerChanged(void);
	virtual void __fastcall TimePickerClicked(void);
	virtual void __fastcall SetDateTimeEx(const System::TDateTime Value);
	virtual void __fastcall TimePickerKeyPress(System::TObject* Sender, char &Key);
	
public:
	__fastcall virtual TAdvDateTimePicker(Classes::TComponent* AOwner);
	__fastcall virtual ~TAdvDateTimePicker(void);
	__property BorderColor  = {default=0};
	int __fastcall GetVersionNr(void);
	__property Classes::TNotifyEvent OnTimeChange = {read=FOnTimeChange, write=FOnTimeChange};
	
__published:
	__property BorderStyle ;
	__property Ctl3D ;
	__property System::TDateTime DateTime = {read=GetDateTimeEx, write=SetDateTimeEx};
	__property AnsiString Format = {read=GetFormatEx, write=SetFormatEx};
	__property AnsiString TimeFormat = {read=GetTimeFormat, write=SetTimeFormat};
	__property TAdvDateTimeKind Kind = {read=FKind, write=SetKind, nodefault};
	__property TTime Time = {read=GetTimeEx, write=SetTimeEx};
	__property AnsiString Version = {read=GetVersion, write=SetVersion};
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TAdvDateTimePicker(HWND ParentWindow) : TCustomDateTimePicker(ParentWindow) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------
static const Shortint MAJ_VER = 0x1;
static const Shortint MIN_VER = 0x0;
static const Shortint REL_VER = 0x0;
static const Shortint BLD_VER = 0x3;
static const Shortint DROPDOWNBTN_WIDTH = 0x15;

}	/* namespace Advdatetimepicker */
using namespace Advdatetimepicker;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Advdatetimepicker
