viewchartdemomain.cpp
来自「胜天进销存源码,国产优秀的进销存」· C++ 代码 · 共 579 行 · 第 1/2 页
CPP
579 行
{
TColor AEndColor;
if (AViewInfo->State == gcsNone)
AEndColor = clBlack;
else
AEndColor = clGray;
FillGradientRectEx(ACanvas, AViewInfo->ContentBounds, clWhite, AEndColor,
Sender->GridView->DiagramColumn->Active);
ADone = true;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::grMainActiveTabChanged(TcxCustomGrid *Sender,
TcxGridLevel *ALevel)
{
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miColumnDiagramClick(TObject *Sender)
{
ActiveChart->DiagramColumn->Active = true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miBarDiagramClick(TObject *Sender)
{
ActiveChart->DiagramBar->Active = true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miTitlePositionItemClick(TObject *Sender)
{
ActiveChart->Title->Position = (TcxGridChartPartPosition)((TMenuItem*)Sender)->MenuIndex;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miLegendPositionItemClick(TObject *Sender)
{
ActiveChart->ActiveDiagram->Legend->Position = (TcxGridChartPartPosition)((TMenuItem*)Sender)->MenuIndex;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miLegendBorderClick(TObject *Sender)
{
if (!((TMenuItem*)Sender)->Checked)
ActiveChart->ActiveDiagram->Legend->Border = lbSingle;
else
ActiveChart->ActiveDiagram->Legend->Border = lbNone;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miValueCaptionPositionItemClick(
TObject *Sender)
{
ActiveColumnDiagram->Values->CaptionPosition =
(TcxGridChartColumnDiagramValueCaptionPosition)((TMenuItem*)Sender)->MenuIndex;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::chvSalesActiveDiagramChanged(
TcxGridChartView *Sender, TcxGridChartDiagram *ADiagram)
{
if (Sender == ActiveChart) UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miAxisVisibleClick(TObject *Sender)
{
GetActiveAxis(Sender)->Visible = !GetActiveAxis(Sender)->Visible;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miAxisGridLinesClick(TObject *Sender)
{
GetActiveAxis(Sender)->GridLines = !GetActiveAxis(Sender)->GridLines;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miAxisTickMarkKindItemClick(TObject *Sender)
{
GetActiveAxis(Sender)->TickMarkKind = (TcxGridChartHistogramTickMarkKind)((TMenuItem*)Sender)->MenuIndex;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miAxisTickMarkLabelsClick(TObject *Sender)
{
GetActiveAxis(Sender)->TickMarkLabels = !GetActiveAxis(Sender)->TickMarkLabels;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miCategoryAxisCategoriesInReverseOrderClick(
TObject *Sender)
{
TcxGridChartHistogramAxisCategory* AAxis = (TcxGridChartHistogramAxisCategory*)GetActiveAxis(Sender);
AAxis->CategoriesInReverseOrder = !AAxis->CategoriesInReverseOrder;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miCategoryAxisValueAxisAtMaxCategoryClick(
TObject *Sender)
{
TcxGridChartHistogramAxisCategory* AAxis = (TcxGridChartHistogramAxisCategory*)GetActiveAxis(Sender);
AAxis->ValueAxisAtMaxCategory = !AAxis->ValueAxisAtMaxCategory;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miCategoryAxisValueAxisBetweenCategoriesClick(
TObject *Sender)
{
TcxGridChartHistogramAxisCategory* AAxis = (TcxGridChartHistogramAxisCategory*)GetActiveAxis(Sender);
AAxis->ValueAxisBetweenCategories = !AAxis->ValueAxisBetweenCategories;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miLineDiagramClick(TObject *Sender)
{
ActiveChart->DiagramLine->Active = true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miAreaDiagramClick(TObject *Sender)
{
ActiveChart->DiagramArea->Active = true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miPieDiagramClick(TObject *Sender)
{
ActiveChart->DiagramPie->Active = true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miToolBoxClick(TObject *Sender)
{
if (ActiveChart->ToolBox->Visible == tvNever)
ActiveChart->ToolBox->Visible = tvAlways;
else
ActiveChart->ToolBox->Visible = tvNever;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miToolBoxPositionClick(TObject *Sender)
{
ActiveChart->ToolBox->Position = (TcxGridChartToolBoxPosition)((TMenuItem*)Sender)->MenuIndex;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miLineStyleClick(TObject *Sender)
{
ActiveLineDiagram->Values->LineStyle = (TcxGridChartLineStyle)((TMenuItem*)Sender)->MenuIndex;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miLineWidthClick(TObject *Sender)
{
ActiveLineDiagram->Values->LineWidth = StrToInt(((TMenuItem*)Sender)->Caption);
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miMarkerStyleClick(TObject *Sender)
{
ActiveLineDiagram->Values->MarkerStyle = (TcxGridChartMarkerStyle)((TMenuItem*)Sender)->MenuIndex;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miMarkerSizeClick(TObject *Sender)
{
ActiveLineDiagram->Values->MarkerSize = StrToInt(((TMenuItem*)Sender)->Caption);
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miValueStackingClick(TObject *Sender)
{
ActiveLineDiagram->Values->Stacking = (TcxGridChartValuesStacking)((TMenuItem*)Sender)->MenuIndex;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miLineValueCaptionPositionClick(
TObject *Sender)
{
ActiveLineDiagram->Values->CaptionPosition =
(TcxGridChartLineDiagramValueCaptionPosition)((TMenuItem*)Sender)->MenuIndex;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miSeriesCaptionsClick(TObject *Sender)
{
ActivePieDiagram->SeriesCaptions = !ActivePieDiagram->SeriesCaptions;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miSeriesSitesClick(TObject *Sender)
{
ActivePieDiagram->SeriesSites = !ActivePieDiagram->SeriesSites;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miSeriesColumnsClick(TObject *Sender)
{
ActivePieDiagram->SeriesColumnCount = StrToInt(((TMenuItem*)Sender)->Caption);
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miPieValueCaptionPositionClick(
TObject *Sender)
{
ActivePieDiagram->Values->CaptionPosition =
(TcxGridChartPieDiagramValueCaptionPosition)((TMenuItem*)Sender)->MenuIndex;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miPieValueCaptionItemClick(
TObject *Sender)
{
TcxGridChartPieDiagramValueCaptionItem ACaptionItem =
(TcxGridChartPieDiagramValueCaptionItem)((TMenuItem*)Sender)->MenuIndex;
TcxGridChartPieDiagramValueCaptionItems ACaptionItems = ActivePieDiagram->Values->CaptionItems;
if (ACaptionItems.Contains(ACaptionItem))
ACaptionItems >> ACaptionItem;
else
ACaptionItems << ACaptionItem;
ActivePieDiagram->Values->CaptionItems = ACaptionItems;
UpdateControls();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::FormActivate(TObject *Sender)
{
UpdateControls(); // to update menu after chart view was changed via Customization Form
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::chvSalesDiagramAreaCustomDrawValueArea(
TcxGridChartAreaDiagram *Sender, TcxCanvas *ACanvas,
TcxGridChartAreaDiagramValueViewInfo *AViewInfo, bool &ADone)
{
TcxRegion* AClipRegion = ACanvas->GetClipRegion(true);
try {
TcxRegion* ARegion = AViewInfo->CreateAreaRegion();
try {
ACanvas->SetClipRegion(ARegion, roIntersect, false, true);
FillGradientRectEx(ACanvas, AViewInfo->GetRealBounds(), clWhite, clMedGray, true);
}
__finally {
ARegion->Free();
}
}
__finally {
ACanvas->SetClipRegion(AClipRegion, roSet, true, true);
}
ADone = true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::chvSalesValueClick(TcxGridChartView *Sender,
TcxGridChartSeries *ASeries, int AValueIndex, bool &AHandled)
{
qrSales->Locate("Name", Sender->Categories->VisibleValues[AValueIndex], TLocateOptions());
tblOrders->Locate("ProductID", qrSales->FieldByName("ID")->AsInteger, TLocateOptions());
grMainLevel1->Active = true;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?