⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 suibutton.hpp

📁 新颖按钮控件
💻 HPP
📖 第 1 页 / 共 2 页
字号:
	
private:
	Graphics::TBitmap* m_Glyph;
	Buttons::TButtonLayout m_Layout;
	#pragma pack(push, 1)
	Types::TPoint m_TextPoint;
	#pragma pack(pop)
	
	int m_Spacing;
	void __fastcall SetGlyph(const Graphics::TBitmap* Value);
	void __fastcall SetLayout(const Buttons::TButtonLayout Value);
	void __fastcall SetSpacing(const int Value);
	
protected:
	virtual void __fastcall SetPicMouseDown(const AnsiString Value);
	virtual void __fastcall SetPicMouseOn(const AnsiString Value);
	virtual void __fastcall SetPicNormal(const AnsiString Value);
	virtual AnsiString __fastcall GetPicMouseDown();
	virtual AnsiString __fastcall GetPicMouseOn();
	virtual AnsiString __fastcall GetPicNormal();
	virtual void __fastcall PaintPic(Graphics::TCanvas* ACanvas, Graphics::TBitmap* Bitmap);
	virtual void __fastcall PaintText(Graphics::TCanvas* ACanvas, AnsiString Text);
	virtual void __fastcall PaintFocus(Graphics::TCanvas* ACanvas);
	virtual void __fastcall SetButtonPic(Suithemes::TsuiUIStyle &UIStyle);
	virtual bool __fastcall CanResize(int &NewWidth, int &NewHeight);
	virtual void __fastcall UIStyleChanged(void);
	
public:
	__fastcall virtual TsuiButton(Classes::TComponent* AOwner);
	__fastcall virtual ~TsuiButton(void);
	
__published:
	__property Action ;
	__property Caption ;
	__property Font ;
	__property Enabled  = {default=1};
	__property TabStop  = {default=0};
	__property TabOrder  = {default=-1};
	__property Transparent ;
	__property ModalResult ;
	__property UIStyle ;
	__property AutoSize ;
	__property Graphics::TBitmap* Glyph = {read=m_Glyph, write=SetGlyph};
	__property Buttons::TButtonLayout Layout = {read=m_Layout, write=SetLayout, nodefault};
	__property int Spacing = {read=m_Spacing, write=SetSpacing, nodefault};
	__property ResHandle ;
	__property PicNormalResName ;
	__property PicMouseDownResName ;
	__property PicMouseOnResName ;
	__property OnClick ;
	__property OnMouseMove ;
	__property OnMouseDown ;
	__property OnMouseUp ;
	__property OnKeyDown ;
	__property OnKeyUp ;
	__property OnKeyPress ;
	__property OnMouseEnter ;
	__property OnMouseExit ;
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TsuiButton(HWND ParentWindow) : TsuiCustomButton(ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TsuiCustomButtonEx;
class PASCALIMPLEMENTATION TsuiCustomButtonEx : public TsuiCustomButton 
{
	typedef TsuiCustomButton inherited;
	
private:
	bool m_Checked;
	#pragma pack(push, 1)
	Types::TRect m_TextRect;
	#pragma pack(pop)
	
	HIDESBASE MESSAGE void __fastcall CMDialogChar(Messages::TWMKey &Msg);
	HIDESBASE MESSAGE void __fastcall WMKeyUp(Messages::TWMKey &Msg);
	
protected:
	virtual void __fastcall DoClick(void);
	DYNAMIC void __fastcall Resize(void);
	void __fastcall SetChecked(const bool Value);
	virtual void __fastcall AutoSizeChanged(void);
	virtual void __fastcall FontChanged(void);
	virtual void __fastcall PaintPic(Graphics::TCanvas* ACanvas, Graphics::TBitmap* Bitmap);
	virtual void __fastcall PaintText(Graphics::TCanvas* ACanvas, AnsiString Text);
	virtual void __fastcall PaintFocus(Graphics::TCanvas* ACanvas);
	virtual void __fastcall CheckStateChanged(void);
	virtual void __fastcall UIStyleChanged(void);
	virtual void __fastcall CaptionChanged(void);
	virtual int __fastcall GetPicWidth(void) = 0 ;
	virtual int __fastcall GetPicHeight(void) = 0 ;
	void __fastcall ReplaceControl(void);
	DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
	
public:
	__fastcall virtual TsuiCustomButtonEx(Classes::TComponent* AOwner);
	
__published:
	__property bool Checked = {read=m_Checked, write=SetChecked, nodefault};
	__property Caption ;
	__property Enabled  = {default=1};
	__property Font ;
	__property Color  = {default=-2147483643};
	__property Transparent ;
	__property TabStop  = {default=0};
	__property TabOrder  = {default=-1};
	__property OnClick ;
	__property OnDblClick ;
	__property OnMouseMove ;
	__property OnMouseDown ;
	__property OnMouseUp ;
	__property OnKeyDown ;
	__property OnKeyUp ;
	__property OnKeyPress ;
public:
	#pragma option push -w-inl
	/* TCustomControl.Destroy */ inline __fastcall virtual ~TsuiCustomButtonEx(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TsuiCustomButtonEx(HWND ParentWindow) : TsuiCustomButton(ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TsuiCheckBox;
class PASCALIMPLEMENTATION TsuiCheckBox : public TsuiCustomButtonEx 
{
	typedef TsuiCustomButtonEx inherited;
	
private:
	Stdctrls::TCheckBoxState __fastcall GetState(void);
	void __fastcall SetState(const Stdctrls::TCheckBoxState Value);
	
protected:
	virtual void __fastcall Toggle(void);
	virtual void __fastcall DoClick(void);
	virtual void __fastcall SetButtonPic(Suithemes::TsuiUIStyle &UIStyle);
	virtual void __fastcall UIStyleChanged(void);
	virtual void __fastcall CheckStateChanged(void);
	virtual void __fastcall EnableChanged(void);
	virtual int __fastcall GetPicWidth(void);
	virtual int __fastcall GetPicHeight(void);
	virtual void __fastcall TransparentChanged(void);
	__property Stdctrls::TCheckBoxState State = {read=GetState, write=SetState, nodefault};
	
public:
	__fastcall virtual TsuiCheckBox(Classes::TComponent* AOwner);
	void __fastcall UpdateCheckState(void);
public:
	#pragma option push -w-inl
	/* TCustomControl.Destroy */ inline __fastcall virtual ~TsuiCheckBox(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TsuiCheckBox(HWND ParentWindow) : TsuiCustomButtonEx(ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TsuiRadioButton;
class PASCALIMPLEMENTATION TsuiRadioButton : public TsuiCheckBox 
{
	typedef TsuiCheckBox inherited;
	
private:
	int m_GroupIndex;
	void __fastcall UnCheckGroup(void);
	
protected:
	virtual void __fastcall DoClick(void);
	virtual void __fastcall SetButtonPic(Suithemes::TsuiUIStyle &UIStyle);
	virtual void __fastcall TransparentChanged(void);
	virtual void __fastcall CheckStateChanged(void);
	
public:
	__fastcall virtual TsuiRadioButton(Classes::TComponent* AOwner);
	
__published:
	__property int GroupIndex = {read=m_GroupIndex, write=m_GroupIndex, nodefault};
public:
	#pragma option push -w-inl
	/* TCustomControl.Destroy */ inline __fastcall virtual ~TsuiRadioButton(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TsuiRadioButton(HWND ParentWindow) : TsuiCheckBox(ParentWindow) { }
	#pragma option pop
	
};


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

}	/* namespace Suibutton */
using namespace Suibutton;
#pragma option pop	// -w-
#pragma option pop	// -Vx

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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -