📄 navpic.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "NavPic.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"
TfrmNavPic *frmNavPic;
AnsiString OldNavPicModule;
//---------------------------------------------------------------------------
__fastcall TfrmNavPic::TfrmNavPic(TComponent* Owner)
: TRecBaseForm(Owner,euSdNavPic,"")
{
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmNavPic::GetFieldValue(int FieldIndex)
{
return ReadFieldValue(comServer,FieldIndex);
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavPic::SetFieldValue(int FieldIndex,AnsiString FieldValue)
{
WriteFieldValue(comServer,FieldIndex,FieldValue);
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavPic::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
scNavPicCode->ItemIndex = -1;
seNavPicFormName->Text = "";
seNavPicCaption->Text = "";
seNavPicPath->Text = "";
seNavPicTop->Text = "";
seNavPicLeft->Text = "";
seNavPicHeight->Text = "";
seNavPicWidth->Text = "";
rbNavPicVisible1->Checked=true;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavPic::GetDataFromComObject()
{
scNavPicCode->LocateKey(GetFieldValue(fiNavpicCode));
//MoveFirst,MovePrority,MoveNext,MoveLast
sgNavPic->LocateGrid(0,GetFieldValue(fiNavpicCode));
seNavPicLib->Text = GetFieldValue(fiNavpicLib);
seNavPicFormName->Text = GetFieldValue(fiNavpicFormName);
seNavPicCaption->Text = GetFieldValue(fiNavpicCaption);
seNavPicPath->Text = GetFieldValue(fiNavpicPath);
seNavPicTop->Text = GetFieldValue(fiNavpicTop);
seNavPicLeft->Text = GetFieldValue(fiNavpicLeft);
seNavPicHeight->Text = GetFieldValue(fiNavpicHeight);
seNavPicWidth->Text = GetFieldValue(fiNavpicWidth);
rbNavPicVisible1->Checked=GetFieldValue(fiNavpicVisible)=="1";
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavPic::SendDataToComObject()
{
SetFieldValue(fiNavpicModule,scNavPicModule->ItemData[1]);
SetFieldValue(fiNavpicCode,scNavPicCode->ItemData[1]);
SetFieldValue(fiNavpicLib,seNavPicLib->Text);
SetFieldValue(fiNavpicFormName,seNavPicFormName->Text);
SetFieldValue(fiNavpicCaption,seNavPicCaption->Text);
SetFieldValue(fiNavpicPath,seNavPicPath->Text);
SetFieldValue(fiNavpicTop,seNavPicTop->Text);
SetFieldValue(fiNavpicLeft,seNavPicLeft->Text);
SetFieldValue(fiNavpicHeight,seNavPicHeight->Text);
SetFieldValue(fiNavpicWidth,seNavPicWidth->Text);
SetFieldValue(fiNavpicVisible,rbNavPicVisible1->Checked ? "1":"0");
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavPic::WaitUserInput()
{
if(scNavPicCode->Enabled)
scNavPicCode->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmNavPic::GetDataToGrid()
{
AnsiString tempS;
tempS = GetFieldValue(fiNavpicCode)+
"\t" + GetFieldValue(fiNavpicFormName);
return(tempS);
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavPic::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
if(mAction == 0)
{
sgNavPic->AddItem(ItemStr);
sgNavPic->Row=sgNavPic->RowCount-1;
}
else if(mAction == 1)
{
int i = sgNavPic->Row;
sgNavPic->ChangeItem(ItemStr,i);
}
else if(mAction == 2)
{
sgNavPic->RemoveItem(sgNavPic->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavPic::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgNavPic->RowCount = 1;
while(comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgNavPic->AddItem(ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavPic::InitEditControl()
{
ClientGroup->AddComponent(2,false,false,true,FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,true,true,false,scNavPicModule,scNavPicModule->Name);
ClientGroup->AddComponent(2,true,true,true,seNavPicLib,seNavPicLib->Name);
ClientGroup->AddComponent(2,true,true,true,seNavPicFormName,seNavPicFormName->Name);
ClientGroup->AddComponent(2,true,true,true,seNavPicCaption,seNavPicCaption->Name);
ClientGroup->AddComponent(2,true,true,false,sgNavPic,sgNavPic->Name);
FillComboBox(scNavPicModule,"SELECT ModuleCode,memo=ModuleCode+space(6-Len(ModuleCode))+ModuleCaption from sdModule where ModuleLevel=1 order by ModuleCode","memo","ModuleCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavPic::FormClose(TObject *Sender, TCloseAction &Action)
{
TRecBaseForm::FormClose(Sender,Action);
/*
AnsiString FormIniFile = "D:\Test.Ini";
WriteGridWidth(Name,sgNavPic,FormIniFile);
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavPic::FormCreate(TObject *Sender)
{
/*
AnsiString FormIniFile="D:\Test.Ini";
SetGridWidth(Name,sgNavPic,FormIniFile);
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavPic::FormShow(TObject *Sender)
{
ClearControl(false);
if(scNavPicModule->ItemIndex!=-1)
scNavPicModuleClick(this);
scNavPicModule->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavPic::scNavPicModuleClick(TObject *Sender)
{
WideString s;
if(scNavPicModule->ItemIndex==-1)
{
MessageDlg("模块的ID号不存在!",mtWarning,TMsgDlgButtons()<<mbOK,0);
scNavPicModule->LocateKey(OldNavPicModule);
}
else
{
s=scNavPicModule->ItemData[1];
AnsiString FSqlStr=AnsiString("select memo=ModuleCode+space(12-Len(ModuleCode))+ModuleFormName,")+
AnsiString("ModuleCode,ModuleFormName,ModuleCaption,ModuleLib from sdModule where ModuleType=2 and ")+
AnsiString("ModuleFormName<>'' and ModuleCode like '"+s+"%'");
FillComboBox(scNavPicCode,FSqlStr,"memo","ModuleCode","ModuleFormName","ModuleCaption","ModuleLib");
if(OldNavPicModule==s)
return;
OldNavPicModule=scNavPicModule->ItemData[1];
s = "NavPicModule = '" + s + "'";
comServer->FilterString = s;
comServer->Query();
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavPic::scNavPicCodeClick(TObject *Sender)
{
if(scNavPicCode->ItemIndex!=-1)
{
seNavPicFormName->Text=scNavPicCode->ItemData[2];
seNavPicCaption->Text=scNavPicCode->ItemData[3];
seNavPicLib->Text=scNavPicCode->ItemData[4];
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmNavPic::sgNavPicClick(TObject *Sender)
{
int ARow=sgNavPic->Row;
if(ARow > 0)
comServer->LocateByKey(WideString(scNavPicModule->ItemData[1]+sgNavPic->TextMatrix[ARow][0]));
if(!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -