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

📄 editorsstylesdemoplanets.cpp

📁 DevExpress ExpressQuantumGrid Suite v5.9 Full Source
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "EditorsStylesDemoPlanets.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "cxContainer"
#pragma link "cxControls"
#pragma link "cxEdit"
#pragma link "cxMemo"
#pragma link "cxPropertiesStore"
#pragma link "cxTextEdit"
#pragma link "EditorsStylesDemoBase"
#pragma link "cxLabel"
#pragma link "cxListView"
#pragma link "cxMCListBox"
#pragma link "cxSplitter"
#pragma resource "*.dfm"
TEditorsStylesDemoPlanetsFrame *EditorsStylesDemoPlanetsFrame;
//---------------------------------------------------------------------------
const String cxPlanetsFileName = "nineplanets.txt";

__fastcall TEditorsStylesDemoPlanetsFrame::TEditorsStylesDemoPlanetsFrame(TComponent* Owner)
  : TEditorsStylesDemoBaseFrame(Owner)
{
  FRecordValues = new TStringList();
  cxMCListBox->Items->LoadFromFile(cxPlanetsFileName);
  InitCurrentRecordValues(cxMCListBox->Items->Strings[0]);
  cxMCListBox->Items->Delete(0);
  for (int i=0; i < cxMCListBox->HeaderSections->Count; i++)
    cxMCListBox->HeaderSections->Items[i]->Text = FRecordValues->Strings[i];
  HintStyle = hcstBlueSlideUp;
  if (cxMCListBox->Count > 0) {
    cxMCListBox->ItemIndex = 0;
    cxMCListBoxClick(NULL);
  }
  FDisplayStyle = shtLightGray;
  FTempDisplayStyle = shtLightGray;
}
//---------------------------------------------------------------------------

__fastcall TEditorsStylesDemoPlanetsFrame::~TEditorsStylesDemoPlanetsFrame()
{
  delete FRecordValues;
}
//---------------------------------------------------------------------------

String __fastcall TEditorsStylesDemoPlanetsFrame::Name()
{
  return ("Solar System");
}
//---------------------------------------------------------------------------

String __fastcall TEditorsStylesDemoPlanetsFrame::BriefName()
{
  return ("Solar");
}
//---------------------------------------------------------------------------

void __fastcall TEditorsStylesDemoPlanetsFrame::UpdateSatellites()
{
  String APlanetName = GetValue(cxMCListBox->ItemIndex, 0);
  cxListView->Items->Clear();
  cxListView->ViewStyle = vsIcon;
  TListItem* ListItem;
  for (int i=0; i < cxMCListBox->Count; i++)
    if (GetValue(i, 2) == APlanetName) {
      ListItem = cxListView->Items->Add();
        ListItem->Caption = GetValue(i, 0);
        ListItem->ImageIndex = StrToInt(GetValue(i, 6));
    }
  if (cxListView->Items->Count == 0) {
    TListItem *AItem = cxListView->Items->Add();
    AItem->Caption = "There are no satellites";
    AItem->ImageIndex = -1;
    cxListView->ViewStyle = vsList;
  }
}
//---------------------------------------------------------------------------

String __fastcall TEditorsStylesDemoPlanetsFrame::GetValue(int ARecordIndex, int AColIndex)
{
  InitCurrentRecordValues(cxMCListBox->Items->Strings[ARecordIndex]);
  String Result = "-1";
  if (FRecordValues->Count > AColIndex)
    Result = FRecordValues->Strings[AColIndex];
  return Result;
}
//---------------------------------------------------------------------------

void __fastcall TEditorsStylesDemoPlanetsFrame::cxMCListBoxClick(
      TObject *Sender)
{
  UpdateSatellites();
}
//---------------------------------------------------------------------------

int __fastcall TEditorsStylesDemoPlanetsFrame::GetIndexByName(String AName)
{
  for (int i=0; i < cxMCListBox->Count; i++)
   if (GetValue(i, 0) == AName) {
     return(i);
   }
  return -1;
}
//---------------------------------------------------------------------------

void TEditorsStylesDemoPlanetsFrame::InitCurrentRecordValues(String ARecord)
{
 Char ADelimiter = cxMCListBox->Delimiter;
 String AString = "";
 for (int I = 1; I <= ARecord.Length(); I++)
   if (ARecord[I] == ADelimiter)
     AString = AString + "\r\n";
   else
     AString = AString + ARecord[I];
 FRecordValues->Clear();
 FRecordValues->Text = AString;

}
//---------------------------------------------------------------------------

void __fastcall TEditorsStylesDemoPlanetsFrame::cxListViewInfoTip(
      TObject *Sender, TListItem *Item, AnsiString &InfoTip)
{
  InfoTip = "";
  int ARecordIndex = GetIndexByName(Item->Caption);
  for (int i=1; i < cxMCListBox->HeaderSections->Count; i++) {
    InfoTip = InfoTip + cxMCListBox->HeaderSections->Items[i]->Text + ": " +
      GetValue(ARecordIndex, i) + "\r\n";
  }
}
//---------------------------------------------------------------------------

String TEditorsStylesDemoPlanetsFrame::StylesIniPath()
{
  return "StylesFrmSolarSystem\\";
}
//---------------------------------------------------------------------------

TColor TEditorsStylesDemoPlanetsFrame::GetStyleBackgroundColor()
{
  return (cxListView->Style->Color);
}
//---------------------------------------------------------------------------

String TEditorsStylesDemoPlanetsFrame::Description()
{
  return ("Solar System Notes");
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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