📄 navarrow.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "NavArrow.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmNavArrow *frmNavArrow;
AnsiString OldNavArrowModule;
//---------------------------------------------------------------------------
__fastcall TfrmNavArrow::TfrmNavArrow(TComponent* Owner)
: TRecBaseForm(Owner,euSdNavArrow,"")
{
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmNavArrow::GetFieldValue(int FieldIndex)
{
return ReadFieldValue(comServer,FieldIndex);
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavArrow::SetFieldValue(int FieldIndex,AnsiString FieldValue)
{
WriteFieldValue(comServer,FieldIndex,FieldValue);
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavArrow::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
seNavArrowCode->Text = "";
scNavArrowStyle->ItemIndex= 0;
scNavArrowDir->ItemIndex = 0;
scNavArrow3D->ItemIndex = 0;
seNavArrowX1->Text = "0";
seNavArrowY1->Text = "0";
seNavArrowX2->Text = "0";
seNavArrowY2->Text = "0";
seNavArrowAngle->Text = "0";
seNavArrowColor->Text = "";
rbNavArrowVisible1->Checked= true;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavArrow::GetDataFromComObject()
{
seNavArrowCode->Text = GetFieldValue(fiNavArrowCode);
//MoveFirst,MovePrority,MoveNext,MoveLast
sgNavArrow->LocateGrid(0,GetFieldValue(fiNavArrowCode));
scNavArrowStyle->LocateKey(GetFieldValue(fiNavArrowStyle));
scNavArrowDir->LocateKey(GetFieldValue(fiNavArrowDir));
scNavArrow3D->LocateKey(GetFieldValue(fiNavArrow3D));
seNavArrowX1->Text=GetFieldValue(fiNavArrowX1);
seNavArrowY1->Text=GetFieldValue(fiNavArrowY1);
seNavArrowX2->Text=GetFieldValue(fiNavArrowX2);
seNavArrowY2->Text=GetFieldValue(fiNavArrowY2);
seNavArrowAngle->Text=GetFieldValue(fiNavArrowAngle);
seNavArrowColor->Text=GetFieldValue(fiNavArrowColor);
rbNavArrowVisible1->Checked=GetFieldValue(fiNavArrowVisible)=="1";
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavArrow::SendDataToComObject()
{
SetFieldValue(fiNavArrowModule,scNavArrowModule->ItemData[1]);
SetFieldValue(fiNavArrowCode,seNavArrowCode->Text);
SetFieldValue(fiNavArrowStyle,scNavArrowStyle->ItemData[1]);
SetFieldValue(fiNavArrowDir,scNavArrowDir->ItemData[1]);
SetFieldValue(fiNavArrow3D,scNavArrow3D->ItemData[1]);
SetFieldValue(fiNavArrowX1,seNavArrowX1->Text);
SetFieldValue(fiNavArrowY1,seNavArrowY1->Text);
SetFieldValue(fiNavArrowX2,seNavArrowX2->Text);
SetFieldValue(fiNavArrowY2,seNavArrowY2->Text);
SetFieldValue(fiNavArrowAngle,seNavArrowAngle->Text);
SetFieldValue(fiNavArrowColor,seNavArrowColor->Text);
SetFieldValue(fiNavArrowVisible,rbNavArrowVisible1->Checked ? "1":"0");
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavArrow::WaitUserInput()
{
if(seNavArrowCode->Enabled)
seNavArrowCode->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmNavArrow::GetDataToGrid()
{
AnsiString tempS;
tempS = GetFieldValue(fiNavArrowCode);
if(GetFieldValue(fiNavArrowStyle)=="1")
tempS=tempS + "\t" + "横向";
else
tempS=tempS + "\t" + "竖向";
if(GetFieldValue(fiNavArrowDir)=="0")
tempS=tempS + "\t" + "无箭头";
else if(GetFieldValue(fiNavArrowDir)=="1")
tempS=tempS + "\t" + "左边";
else if(GetFieldValue(fiNavArrowDir)=="2")
tempS=tempS + "\t" + "右边";
else if(GetFieldValue(fiNavArrowDir)=="3")
tempS=tempS + "\t" + "上边";
else if(GetFieldValue(fiNavArrowDir)=="4")
tempS=tempS + "\t" + "下边";
else if(GetFieldValue(fiNavArrowDir)=="2")
tempS=tempS + "\t" + "左右";
else
tempS=tempS + "\t" + "上下";
return(tempS);
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavArrow::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
if(mAction == 0)
{
sgNavArrow->AddItem(ItemStr);
sgNavArrow->Row=sgNavArrow->RowCount-1;
}
else if(mAction == 1)
{
int i = sgNavArrow->Row;
sgNavArrow->ChangeItem(ItemStr,i);
}
else if(mAction == 2)
{
sgNavArrow->RemoveItem(sgNavArrow->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavArrow::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgNavArrow->RowCount = 1;
while(comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgNavArrow->AddItem(ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavArrow::InitEditControl()
{
ClientGroup->AddComponent(2,false,false,true,FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,true,true,false,scNavArrowModule,scNavArrowModule->Name);
ClientGroup->AddComponent(2,true,true,false,sgNavArrow,sgNavArrow->Name);
FillComboBox(scNavArrowModule,"SELECT ModuleCode,memo=ModuleCode+space(6-Len(ModuleCode))+ModuleCaption from sdModule where ModuleLevel=1 order by ModuleCode","memo","ModuleCode");
scNavArrowStyle->ClearAll();
scNavArrowStyle->AddItems("1-横向","1");
scNavArrowStyle->AddItems("2-竖向","2");
scNavArrowDir->ClearAll();
scNavArrowDir->AddItems("0-无箭头","0");
scNavArrowDir->AddItems("1-左边","1");
scNavArrowDir->AddItems("2-右边","2");
scNavArrowDir->AddItems("3-上边","3");
scNavArrowDir->AddItems("4-下边","4");
scNavArrowDir->AddItems("5-左右","5");
scNavArrowDir->AddItems("6-上下","6");
scNavArrow3D->ClearAll();
scNavArrow3D->AddItems("0-平面","0");
scNavArrow3D->AddItems("1-3D","1");
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavArrow::FormClose(TObject *Sender, TCloseAction &Action)
{
TRecBaseForm::FormClose(Sender,Action);
/*
AnsiString FormIniFile = "D:\Test.Ini";
WriteGridWidth(Name,sgNavArrow,FormIniFile);
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavArrow::FormCreate(TObject *Sender)
{
/*
AnsiString FormIniFile="D:\Test.Ini";
SetGridWidth(Name,sgNavArrow,FormIniFile);
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavArrow::FormShow(TObject *Sender)
{
ClearControl(false);
if(scNavArrowModule->ItemIndex!=-1)
scNavArrowModuleClick(this);
scNavArrowModule->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavArrow::scNavArrowModuleClick(TObject *Sender)
{
WideString s;
if(scNavArrowModule->ItemIndex==-1)
{
MessageDlg("模块的ID号不存在!",mtWarning,TMsgDlgButtons()<<mbOK,0);
scNavArrowModule->LocateKey(OldNavArrowModule);
}
else
{
s=scNavArrowModule->ItemData[1];
if(OldNavArrowModule==s)
return;
OldNavArrowModule=scNavArrowModule->ItemData[1];
s = "NavArrowModule = '" + s + "'";
comServer->FilterString = s;
comServer->Query();
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavArrow::sgNavArrowClick(TObject *Sender)
{
int ARow=sgNavArrow->Row;
if(ARow > 0)
comServer->LocateByKey(WideString(scNavArrowModule->ItemData[1]+sgNavArrow->TextMatrix[ARow][0]));
if(!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -