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

📄 navpic.cpp

📁 速达开源ERP系统
💻 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 + -