imm:
class PASCALIMPLEMENTATION TFileListBox : public Stdctrls::TCustomListBox
[阅读: 878] 2004-11-24 09:06:13
class PASCALIMPLEMENTATION TFileListBox : public Stdctrls::TCustomListBox
{
typedef Stdctrls::TCustomListBox inherited;
private:
HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
char __fastcall GetDrive(void);
AnsiString __fastcall GetFileName();
bool __fastcall IsMaskStored(void);
void __fastcall SetDrive(char Value);
void __fastcall SetFileEdit(Stdctrls::TEdit* Value);
void __fastcall SetDirectory(const AnsiString NewDirectory);
void __fastcall SetFileType(TFileType NewFileType);
void __fastcall SetMask(const AnsiString NewMask);
void __fastcall SetFileName(const AnsiString NewFile);
void __fastcall SetShowGlyphs(bool Value);
void __fastcall ResetItemHeight(void);
protected:
AnsiString FDirectory;
AnsiString FMask;
TFileType FFileType;
Stdctrls::TEdit* FFileEdit;
TDirectoryListBox* FDirList;
TFilterComboBox* FFilterCombo;
Graphics::TBitmap* ExeBMP;
Graphics::TBitmap* DirBMP;
Graphics::TBitmap* UnknownBMP;
Classes::TNotifyEvent FOnChange;
int FLastSel;
bool FShowGlyphs;
virtual void __fastcall CreateWnd(void);
virtual void __fastcall ReadBitmaps(void);
DYNAMIC void __fastcall Click(void);
virtual void __fastcall Change(void);
virtual void __fastcall ReadFileNames(void);
virtual void __fastcall DrawItem(int Index, const Types::TRect &Rect, Windows::TOwnerDrawState State);
virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
virtual AnsiString __fastcall GetFilePath();
public:
__fastcall virtual TFileListBox(Classes::TComponent* AOwner);
__fastcall virtual ~TFileListBox(void);
HIDESBASE void __fastcall Update(void);
virtual void __fastcall ApplyFilePath(const AnsiString EditText);
__property char Drive = {read=GetDrive, write=SetDrive, nodefault};
__property AnsiString Directory = {read=FDirectory, write=ApplyFilePath};
__property AnsiString FileName = {read=GetFilePath, write=ApplyFilePath};
__published:
__property Align = {default=0};
__property Anchors = {default=3};
__property AutoComplete = {default=1};
__property BevelEdges = {default=15};
__property BevelInner = {index=0, default=2};
__property BevelKind = {default=0};
__property BevelOuter = {index=1, default=1};
__property Color = {default=-2147483643};
__property Constraints ;
__property Ctl3D ;
__property DragCursor = {default=-12};
__property DragMode = {default=0};
__property Enabled = {default=1};
__property ExtendedSelect = {default=1};
__property Stdctrls::TEdit* FileEdit = {read=FFileEdit, write=SetFileEdit};
__property TFileType FileType = {read=FFileType, write=SetFileType, default=64};
__property Font ;
__property ImeMode = {default=3};
__property ImeName ;
__property IntegralHeight = {default=0};
__property ItemHeight ;
__property AnsiString Mask = {read=FMask, write=SetMask, stored=IsMaskStored};
__property MultiSelect = {default=0};
__property ParentColor = {default=0};
__property ParentCtl3D = {default=1};
__property ParentFont = {default=1};
__property ParentShowHint = {default=1};
__property PopupMenu ;
__property bool ShowGlyphs = {read=FShowGlyphs, write=SetShowGlyphs, default=0};
__property ShowHint ;
__property TabOrder = {default=-1};
__property TabStop = {default=1};
__property Visible = {default=1};
__property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
__property OnClick ;
__property OnContextPopup ;
__property OnDblClick ;
__property OnDragDrop ;
__property OnDragOver ;
__property OnEndDrag ;
__property OnEnter ;
__property OnExit ;
__property OnKeyDown ;
__property OnKeyPress ;
__property OnKeyUp ;
__property OnMouseDown ;
__property OnMouseMove ;
__property OnMouseUp ;
__property OnStartDrag ;
public:
#pragma option push -w-inl
/* TWinControl.CreateParented */ inline __fastcall TFileListBox(HWND ParentWindow) : Stdctrls::TCustomListBox(ParentWindow) { }
#pragma option pop
};
#pragma option push -b-
enum TSelectDirOpt { sdAllowCreate, sdPerformCreate, sdPrompt };
#pragma option pop
typedef Set<TSelectDirOpt, sdAllowCreate, sdPrompt> TSelectDirOpts;
//-- var, const, procedure ---------------------------------------------------
static const Shortint WNTYPE_DRIVE = 0x1;
extern PACKAGE AnsiString __fastcall MinimizeName(const AnsiString Filename, Graphics::TCanvas* Canvas, int MaxLen);
extern PACKAGE void __fastcall ProcessPath(const AnsiString EditText, char &Drive, AnsiString &DirPart, AnsiString &FilePart);
extern PACKAGE bool __fastcall SelectDirectory(AnsiString &Directory, TSelectDirOpts Options, int HelpCtx)/* overload */;
extern PACKAGE bool __fastcall SelectDirectory(const AnsiString Caption, const WideString Root, AnsiString &Directory)/* overload */;
} /* namespace Filectrl */
using namespace Filectrl;
#pragma option pop // -w-
#pragma option pop // -Vx
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // FileCtrl