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

📄 ukboar.cpp

📁 TeeChart Pro ActiveX是西班牙Steema SL公司开发的图表类控件
💻 CPP
字号:
/*********************************************/
/* TeeChart Delphi Component Library 4.0     */
/* Demo                                      */
/* Copyright (c) 1995-1998 by David Berneda  */
/* All rights reserved                       */
/*********************************************/
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "UKBoar.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TKeyboardForm *KeyboardForm;
//---------------------------------------------------------------------------
__fastcall TKeyboardForm::TKeyboardForm(TComponent* Owner)
  : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TKeyboardForm::FormCreate(TObject *Sender)
{
  LineSeries1->FillSampleValues(500);
  AnimatedZoomFactor = 4;
}
//---------------------------------------------------------------------------
void __fastcall TKeyboardForm::FormKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
  double XDelta,YDelta,XRange,YRange;
  // initialize some temporary variables
  XDelta = 0;
  YDelta = 0;
  XRange = LineSeries1->GetHorizAxis->Maximum - LineSeries1->GetHorizAxis->Minimum;
  YRange = LineSeries1->GetVertAxis->Maximum - LineSeries1->GetVertAxis->Minimum;
  // handle keyboard !!!
  if (Shift.Contains(ssShift)) {
    switch (Key) {
      case VK_LEFT :
      case VK_UP   : {
        Chart1->ZoomPercent( 110 );
        break;
      }
      case VK_RIGHT :
      case VK_DOWN  : {
        Chart1->ZoomPercent( 90 );
        break;
      }
    }
    return;
  }
  else switch (Key) {
    case VK_LEFT  : XDelta = -XRange/100; break;
    case VK_RIGHT : XDelta =  XRange/100; break;
    case VK_UP    : YDelta =  YRange/100; break;
    case VK_DOWN  : YDelta = -YRange/100; break;
    case VK_NEXT  : YDelta = -YRange/10; break;
    case VK_PRIOR : YDelta =  YRange/10; break;
    case VK_SPACE : {
      Chart1->UndoZoom();
      return;
    }  // <-- reset scrolling
  }
  // just to make this example a little better
  if (!InvertScroll->Checked) {
    XDelta = -XDelta;
    YDelta = -YDelta;
  }
  // apply scrolling !!!
  Chart1->LeftAxis->Scroll(YDelta,CheckLimits->Checked);
  Chart1->RightAxis->Scroll(YDelta,CheckLimits->Checked);
  Chart1->BottomAxis->Scroll(XDelta,CheckLimits->Checked);
  Chart1->TopAxis->Scroll(XDelta,CheckLimits->Checked);
  Chart1->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TKeyboardForm::CheckLimitsClick(TObject *Sender)
{
  ShowMessage("Please zoom before scrolling.");
  Chart1->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TKeyboardForm::InvertScrollClick(TObject *Sender)
{
  Chart1->SetFocus();
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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