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

📄 mouse.pas

📁 Delphi Component - Chart Fx
💻 PAS
字号:
unit mouse;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  OleCtrls, ChartfxLib_TLB, StdCtrls;

type
  TForm1 = class(TForm)
    ChartFX1: TChartFX;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Edit4: TEdit;
    Edit5: TEdit;
    Label5: TLabel;
    procedure FormActivate(Sender: TObject);
    procedure ChartFX1MouseMoving(Sender: TObject; x, y: Smallint;
      var nRes: Smallint);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  sHitName: Array [0..12] of String;

implementation

{$R *.DFM}

procedure TForm1.FormActivate(Sender: TObject);
begin
    // Enable MouseMoving Event
    ChartFX1.TypeMask := ChartFX1.TypeMask Or CT_TRACKMOUSE;

    // Initialize array of hit element descriptions
    sHitName[0] := 'Background';
    sHitName[1] := '2D Background Area';
    sHitName[2] := '3D Background Area';
    sHitName[3] := 'Value (middle)';
    sHitName[4] := 'Point Marker';
    sHitName[5] := 'Y Axis';
    sHitName[6] := 'Secondary Y-Axis';
    sHitName[7] := 'X-Axis';
    sHitName[8] := 'Secondary X Axis';
    sHitName[9] := 'Left Title';
    sHitName[10] := 'Rigth Title';
    sHitName[11] := 'Top Title';
    sHitName[12] := 'Bottom Title';

    
    // Show Secondary Y-Axis
    ChartFX1.Axis[AXIS_Y2].Min := 0;
    ChartFX1.Axis[AXIS_Y2].Max := 300;
    ChartFX1.Axis[AXIS_Y2].Visible := True;
        
    // Show Titles
    ChartFX1.Title[CHART_LEFTTIT] := 'What`s this ?';
    ChartFX1.Title[CHART_TOPTIT] := 'What`s this ?';
    ChartFX1.Title[CHART_RIGHTTIT] := 'What`s this ?';
    ChartFX1.Title[CHART_BOTTOMTIT] := 'What`s this ?';
end;

procedure TForm1.ChartFX1MouseMoving(Sender: TObject; x, y: Smallint;
  var nRes: Smallint);
var
    nHit:CfxHitTest;
    nSeries:SmallInt;
    nPoint: longint;
    s: String;
begin

    Str(x,s);
    Edit1.Text := s;
    Str(y,s);
    Edit2.Text := s;

    nHit := ChartFX1.HitTest(x, y, nSeries, nPoint);

    Str(nSeries + 1,s);
    Edit3.Text := s;
    Str(nPoint + 1,s);
    Edit4.Text := s;

    Edit5.Text := sHitName[nHit];
end;

end.

⌨️ 快捷键说明

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