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

📄 iknob.hpp

📁 Iocomp Ultra Pack v3.0.2 Sources.For.Delphi 数据显示编程插件,可用于工业控制
💻 HPP
字号:
// Borland C++ Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'iKnob.pas' rev: 6.00

#ifndef iKnobHPP
#define iKnobHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <iComponent.hpp>	// Pascal unit
#include <iVCLComponent.hpp>	// Pascal unit
#include <iPositionComponent.hpp>	// Pascal unit
#include <iScaleComponent.hpp>	// Pascal unit
#include <iMath.hpp>	// Pascal unit
#include <iGPFunctions.hpp>	// Pascal unit
#include <iTypes.hpp>	// Pascal unit
#include <ExtCtrls.hpp>	// Pascal unit
#include <StdCtrls.hpp>	// Pascal unit
#include <ComCtrls.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Variants.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Types.hpp>	// Pascal unit
#include <Clipbrd.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <TypInfo.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

namespace Iknob
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TiKnobStyle { iksRaisedEdge, iksRaised, iksSunken, iksSunkenEdge };
#pragma option pop

#pragma option push -b-
enum TiKnobIndicatorStyle { ikisDotLowered, ikisDotRaised, ikisDot, ikisLineCenter, ikisLineCustom, ikisTriangle };
#pragma option pop

class DELPHICLASS TiKnob;
class PASCALIMPLEMENTATION TiKnob : public Iscalecomponent::TiScaleComponent 
{
	typedef Iscalecomponent::TiScaleComponent inherited;
	
private:
	double FMouseDownDegrees;
	bool FMouseDown;
	bool FKeyDown;
	System::TDateTime FLastWheelTime;
	Graphics::TColor FIndicatorActiveColor;
	Graphics::TColor FIndicatorInactiveColor;
	int FIndicatorMargin;
	int FIndicatorSize;
	TiKnobIndicatorStyle FIndicatorStyle;
	double FKeyPageStepSize;
	double FKeyArrowStepSize;
	double FMouseWheelStepSize;
	int FKnobEdgeWidth;
	int FKnobRadius;
	TiKnobStyle FKnobStyle;
	Graphics::TFont* FPositionDisplayFont;
	int FPositionDisplayPrecision;
	AnsiString FPositionDisplayUnits;
	int FRotationMaxDegrees;
	int FRotationStartDegrees;
	bool FShowFocusRect;
	bool FShowPostionDisplay;
	bool FAutoSize;
	int FOuterMargin;
	bool FUseKeyboard;
	#pragma pack(push, 1)
	Types::TPoint FCenterPoint;
	#pragma pack(pop)
	
	double __fastcall GetPositionDegrees(void);
	void __fastcall SetRotationStartDegrees(const int Value);
	void __fastcall SetRotationMaxDegrees(const int Value);
	void __fastcall SetKnobRadius(const int Value);
	void __fastcall SetIndicatorMargin(const int Value);
	void __fastcall SetIndicatorSize(const int Value);
	void __fastcall SetShowPostionDisplay(const bool Value);
	void __fastcall SetPositionDisplayFont(const Graphics::TFont* Value);
	void __fastcall SetPositionDisplayPrecision(const int Value);
	void __fastcall SetIndicatorActiveColor(const Graphics::TColor Value);
	void __fastcall SetIndicatorInactiveColor(const Graphics::TColor Value);
	void __fastcall SetPositionDisplayUnits(const AnsiString Value);
	void __fastcall SetPositionDegrees(const double Value);
	void __fastcall SetIndicatorStyle(const TiKnobIndicatorStyle Value);
	void __fastcall SetKnobEdgeWidth(const int Value);
	void __fastcall SetKnobStyle(const TiKnobStyle Value);
	void __fastcall SetKeyArrowStepSize(const double Value);
	void __fastcall SetKeyPageStepSize(const double Value);
	void __fastcall SetMouseWheelStepSize(const double Value);
	void __fastcall SetShowFocusRect(const bool Value);
	void __fastcall iSetAutoSize(const bool Value);
	void __fastcall SetOuterMargin(const int Value);
	void __fastcall SetUseKeyboard(const bool Value);
	double __fastcall PositionToDegrees(double Value);
	
protected:
	virtual void __fastcall iPaintTo(Graphics::TCanvas* Canvas);
	virtual void __fastcall iMouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
	virtual void __fastcall iMouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
	virtual void __fastcall iMouseMove(Classes::TShiftState Shift, int X, int Y);
	__property double PositionDegrees = {read=GetPositionDegrees, write=SetPositionDegrees};
	void __fastcall DrawKnob(Graphics::TCanvas* Canvas, const Types::TPoint &CenterPoint);
	void __fastcall DrawTicks(Graphics::TCanvas* Canvas, const Types::TPoint &CenterPoint);
	void __fastcall DrawPosition(Graphics::TCanvas* Canvas, const Types::TPoint &CenterPoint);
	void __fastcall DrawIndicator(Graphics::TCanvas* Canvas, const Types::TPoint &CenterPoint);
	void __fastcall AdjustKnobRadius(Graphics::TCanvas* Canvas, const Types::TPoint &CenterPoint);
	Types::TPoint __fastcall GetXYRadPoint2(double AngleDegrees, double Radius, double OffsetX, double OffsetY);
	virtual void __fastcall iWantSpecialKey(Word &CharCode, int &Result);
	virtual void __fastcall iKeyUp(Word &CharCode, Classes::TShiftState Shift);
	virtual void __fastcall iKeyDown(Word &CharCode, Classes::TShiftState Shift);
	virtual void __fastcall iDoKillFocus(void);
	DYNAMIC bool __fastcall DoMouseWheel(Classes::TShiftState Shift, int WheelDelta, const Types::TPoint &MousePos);
	virtual void __fastcall DoOPCPositionChangeFinished(void);
	virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
	void __fastcall WriteKeyArrowStepSize(Classes::TWriter* Writer);
	void __fastcall ReadKeyArrowStepSize(Classes::TReader* Reader);
	void __fastcall WriteKeyPageStepSize(Classes::TWriter* Writer);
	void __fastcall ReadKeyPageStepSize(Classes::TReader* Reader);
	
public:
	__fastcall virtual TiKnob(Classes::TComponent* AOwner);
	__fastcall virtual ~TiKnob(void);
	
__published:
	__property Graphics::TFont* PositionDisplayFont = {read=FPositionDisplayFont, write=SetPositionDisplayFont};
	__property int PositionDisplayPrecision = {read=FPositionDisplayPrecision, write=SetPositionDisplayPrecision, default=1};
	__property AnsiString PositionDisplayUnits = {read=FPositionDisplayUnits, write=SetPositionDisplayUnits};
	__property Graphics::TColor IndicatorActiveColor = {read=FIndicatorActiveColor, write=SetIndicatorActiveColor, default=16776960};
	__property Graphics::TColor IndicatorInactiveColor = {read=FIndicatorInactiveColor, write=SetIndicatorInactiveColor, default=255};
	__property int IndicatorMargin = {read=FIndicatorMargin, write=SetIndicatorMargin, default=5};
	__property int IndicatorSize = {read=FIndicatorSize, write=SetIndicatorSize, default=4};
	__property TiKnobIndicatorStyle IndicatorStyle = {read=FIndicatorStyle, write=SetIndicatorStyle, default=0};
	__property double KeyArrowStepSize = {read=FKeyArrowStepSize, write=SetKeyArrowStepSize};
	__property double KeyPageStepSize = {read=FKeyPageStepSize, write=SetKeyPageStepSize};
	__property double MouseWheelStepSize = {read=FMouseWheelStepSize, write=SetMouseWheelStepSize};
	__property int KnobEdgeWidth = {read=FKnobEdgeWidth, write=SetKnobEdgeWidth, default=3};
	__property int KnobRadius = {read=FKnobRadius, write=SetKnobRadius, default=35};
	__property TiKnobStyle KnobStyle = {read=FKnobStyle, write=SetKnobStyle, default=1};
	__property int RotationMaxDegrees = {read=FRotationMaxDegrees, write=SetRotationMaxDegrees, default=270};
	__property int RotationStartDegrees = {read=FRotationStartDegrees, write=SetRotationStartDegrees, default=225};
	__property bool ShowFocusRect = {read=FShowFocusRect, write=SetShowFocusRect, default=1};
	__property bool ShowPostionDisplay = {read=FShowPostionDisplay, write=SetShowPostionDisplay, default=0};
	__property bool AutoSize = {read=FAutoSize, write=iSetAutoSize, default=1};
	__property int OuterMargin = {read=FOuterMargin, write=SetOuterMargin, default=2};
	__property bool UseKeyboard = {read=FUseKeyboard, write=SetUseKeyboard, default=1};
	__property BackGroundColor  = {default=-2147483633};
	__property BackGroundPicture ;
	__property OffsetX  = {default=0};
	__property OffsetY  = {default=0};
	__property TabOrder  = {default=-1};
	__property TabStop  = {default=1};
	__property Transparent  = {default=0};
	__property ShowTicksMajor  = {default=1};
	__property ShowTicksMinor  = {default=1};
	__property ShowTickLabels  = {default=1};
	__property TickMajorCount  = {default=5};
	__property TickMajorColor  = {default=0};
	__property TickMajorLength  = {default=7};
	__property TickMinorAlignment  = {default=0};
	__property TickMinorCount  = {default=4};
	__property TickMinorColor  = {default=8421504};
	__property TickMinorLength  = {default=3};
	__property TickMargin  = {default=5};
	__property TickLabelMargin  = {default=15};
	__property TickLabelFont ;
	__property TickLabelPrecision  = {default=0};
	__property PrecisionStyle  = {default=1};
	__property AutoScaleEnabled  = {default=0};
	__property AutoScaleDesiredTicks  = {default=5};
	__property AutoScaleMaxTicks  = {default=6};
	__property AutoScaleStyle  = {default=0};
	__property OnPositionChangeFinished ;
	__property OnCustomizeTickLabel ;
	__property OnPositionChangeUser ;
	__property CachedDrawing  = {default=1};
	__property Width  = {default=150};
	__property Height  = {default=150};
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TiKnob(HWND ParentWindow) : Iscalecomponent::TiScaleComponent(ParentWindow) { }
	#pragma option pop
	
};


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

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

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

⌨️ 快捷键说明

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