areacustomfunc.cpp

来自「DevExpress公司出品的Borland Delphi和C++ Builde」· C++ 代码 · 共 34 行

CPP
34
字号
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <cxSSFormulas.hpp>
#include <cxExcelConst.hpp>
//---------------------------------------------------------------------------
#pragma package(smart_init)

void __fastcall AreaFuncCallBack(TcxSSFunctionHandler *Sender, const double Value)
{
  if (Sender->CallBackIndex == 0)
    Sender->FloatValue = Value;
  else
    Sender->FloatValue = Sender->FloatValue * Value;
}

void __fastcall AreaFunc(TcxSSFunctionHandler *Sender)
{
  Sender->EnumParamValues(AreaFuncCallBack, TcxValueTypes() << vtFloat);
  Sender->SetFloatResult(Sender->FloatValue);
}

void RegisterCustomFunction()
{
  Cxssformulas::TcxFuncDefinition cxFuncDefinition[1];
  cxFuncDefinition[0].Token =  0xFFFF-2;
  cxFuncDefinition[0].Name = "Area";
  cxFuncDefinition[0].Definition = AreaFunc;
  cxFuncDefinition[0].Params = Cxexcelconst::fpFixed;
  cxFuncDefinition[0].ParamsCount = 2;
  TcxSSFunctionHandler::RegisterFunctions(NULL, cxFuncDefinition, 0);
}

⌨️ 快捷键说明

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