// Borland C++ Builder
// Copyright (c) 1995, 1999 by Borland International
// All rights reserved

// (DO NOT EDIT: machine generated header) 'AHMTDBLookupMenu.pas' rev: 5.00

#ifndef AHMTDBLookupMenuHPP
#define AHMTDBLookupMenuHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <StdCtrls.hpp>	// Pascal unit
#include <AHMStandardConst.hpp>	// Pascal unit
#include <AHMStdClass.hpp>	// Pascal unit
#include <DBTables.hpp>	// Pascal unit
#include <DBCtrls.hpp>	// Pascal unit
#include <Db.hpp>	// Pascal unit
#include <AHMTLookupEdit.hpp>	// Pascal unit
#include <Mask.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

namespace Ahmtdblookupmenu
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TAHMDBLookupMenu;
class PASCALIMPLEMENTATION TAHMDBLookupMenu : public Ahmtlookupedit::TAHMCustomLookupEdit 
{
	typedef Ahmtlookupedit::TAHMCustomLookupEdit inherited;
	
private:
	Ahmstdclass::TAHMAboutSControlStr FAboutStr;
	Classes::TStrings* FItems;
	int FItemIndex;
	Classes::TNotifyEvent FOnChange;
	AnsiString FNonSelected;
	bool FItemChecked;
	bool FDirectInput;
	bool FAlwaysEnable;
	Classes::TAlignment FAlignment;
	Dbctrls::TFieldDataLink* FDataLink;
	Controls::TControlCanvas* FCanvas;
	bool FFocused;
	void __fastcall DataChange(System::TObject* Sender);
	void __fastcall EditingChange(System::TObject* Sender);
	AnsiString __fastcall GetDataField();
	Db::TDataSource* __fastcall GetDataSource(void);
	Db::TField* __fastcall GetField(void);
	void __fastcall SetDataField(const AnsiString Value);
	void __fastcall SetDataSource(Db::TDataSource* Value);
	void __fastcall SetFocused(bool Value);
	void __fastcall UpdateData(System::TObject* Sender);
	HIDESBASE MESSAGE void __fastcall CMExit(Messages::TWMNoParams &Message);
	MESSAGE void __fastcall CMGetDataLink(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall CMEnter(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall WMPaste(Messages::TWMNoParams &Message);
	HIDESBASE MESSAGE void __fastcall WMCut(Messages::TWMNoParams &Message);
	void __fastcall SetDirectInput(bool Value);
	void __fastcall SetNonSelected(AnsiString Value);
	void __fastcall SetItems(Classes::TStrings* Items);
	void __fastcall SetItemIndex(int Value);
	HIDESBASE MESSAGE void __fastcall WMCommand(Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall WMChar(Messages::TWMKey &Message);
	
protected:
	void __fastcall OnLookupPress(System::TObject* Sender);
	DYNAMIC void __fastcall Change(void);
	virtual bool __fastcall EditCanModify(void);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
		);
	virtual void __fastcall Reset(void);
	__property bool AlwaysEnable = {read=FAlwaysEnable, write=FAlwaysEnable, default=0};
	
public:
	__fastcall virtual TAHMDBLookupMenu(Classes::TComponent* AOwner);
	__fastcall virtual ~TAHMDBLookupMenu(void);
	virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
	DYNAMIC void __fastcall KeyPress(char &Key);
	HIDESBASE void __fastcall SelectAll(void);
	__property Db::TField* Field = {read=GetField};
	
__published:
	__property Ahmstdclass::TAHMAboutSControlStr About = {read=FAboutStr, write=FAboutStr};
	__property AnsiString DataField = {read=GetDataField, write=SetDataField};
	__property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource};
	__property bool ReadonlyClickable = {read=FDirectInput, write=SetDirectInput, default=0};
	__property AnsiString NonSelected = {read=FNonSelected, write=SetNonSelected};
	__property Classes::TStrings* Items = {read=FItems, write=SetItems};
	__property bool ItemChecked = {read=FItemChecked, write=FItemChecked, nodefault};
	__property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
	__property int ItemIndex = {read=FItemIndex, write=SetItemIndex, nodefault};
	__property EditButton1 ;
	__property Enabled ;
	__property Alignment ;
	__property EditMask ;
	__property MaxLength ;
	__property Text ;
	__property AutoSize ;
	__property CharCase ;
	__property PasswordChar ;
	__property ReadOnly ;
	__property Font ;
	__property OnEnter ;
	__property OnExit ;
	__property OnKeyDown ;
	__property OnKeyPress ;
	__property OnKeyUp ;
	__property OnClick ;
	__property OnDblClick ;
	__property OnDragDrop ;
	__property OnDragOver ;
	__property OnEndDrag ;
	__property OnMouseDown ;
	__property OnMouseMove ;
	__property OnMouseUp ;
	__property OnStartDrag ;
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TAHMDBLookupMenu(HWND ParentWindow) : Ahmtlookupedit::TAHMCustomLookupEdit(
		ParentWindow) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------

}	/* namespace Ahmtdblookupmenu */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Ahmtdblookupmenu;
#endif
#pragma option pop	// -w-
#pragma option pop	// -Vx

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