📄 ydmain.~cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "YDmain.h"
#include "Ydlyb.h"
#include "YDxlcs.h"
#include "YDczygl.h"
#include "YDdatam.h"
#include "YHDL.h"
#include "YDxgmm.h"
#include "YDczrz.h"
#include "YDver.h"
#include "YDdmsz.h"
#include "YDbyqcs.h"
#include "YDhydm.h"
#include "YDjjxm.h"
#include "YDmldj.h"
#include "YDxtcs.h"
#include "YDhsdw.h"
#include "YDsjbf.h"
#include "YDgds.h"
#include "YDywsl.h"
#include "YDdydj.h"
#include "DFJS.h"
#include "YDsgcb.h"
#include "YDdftzd.h"
#include "YDfl.h"
#include "YDCBYSZ.h"
#include "YDdfjsqd.h"
#include "DFSF.h"
#include "YDhsrltj.h"
#include "YDyhhmc.h"
#include "YDymjz.h"
#include "YDSJQF.h"
#include "YDqfll.h"
#include "YDsfqktj.h"
#include "YDxstj.h"
#include "YDfltj.h"
#include "YDhyflbb.h"
#include "YDdldffx.h"
#include "YDcbjgl.h"
#include "YDdljs.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFmain *Fmain;
AnsiString bjbmp;
TQuery *Qsftj=new TQuery(Application);
//---------------------------------------------------------------------------
__fastcall TFmain::TFmain(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFmain::S18Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TFmain::W14Click(TObject *Sender)
{
if (!W14->Checked)
{
OpenDialog1->Title ="请选择背景音乐";
OpenDialog1->InitialDir=ExtractFilePath(Application->ExeName);
OpenDialog1->Filter = "Music files (*.wav)|*.wav|All files (*.*)|*.*";
// OpenDialog1->DefaultExt="*.wav";
if(OpenDialog1->Execute())
{
MediaPlayer1->FileName=OpenDialog1->FileName;
try
{
MediaPlayer1->Open();
MediaPlayer1->Play();
}
catch (...)
{
Application->MessageBox("Error opening file",mtWarning,MB_ICONWARNING|MB_OK);
}
}
W14->Checked=true;
/*
MediaPlayer1->FileName="c:\\ydgl_c\\hh.wav";
MediaPlayer1->Open();
*/
}
else
{
W14->Checked=false;
MediaPlayer1->Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TFmain::W16Click(TObject *Sender)
{
if (!W16->Checked)
{
W16->Checked=true;
new TFlyb(Application);
}
}
//---------------------------------------------------------------------------
void __fastcall TFmain::CreateWnd(void)
{
// let the base class CreateWnd do what it needs to do to
// create a main window for the program.
TForm::CreateWnd();
// subclass the MDI client window so we can replace its default
// message handler with our own. MakeObjectInstance transposes
// the ClientProc function into a form that the API likes.
// SetWindowLong then subclass the MDI client (ClientHandle)
// using the return value from MakeObjectInstance.
ClientObjectInstance = MakeObjectInstance (ClientProc) ;
OriginalClientProc = (Pointer) SetWindowLong (ClientHandle,
GWL_WNDPROC,
(long) ClientObjectInstance);
}
void __fastcall TFmain::ClientProc (TMessage &Msg)
{
switch (Msg.Msg)
{
case WM_ERASEBKGND:
// intercept the message for painting the background and
// draw the background ourself
DrawClientWindow ((HDC) Msg.WParam) ;
Msg.Result = true;
return;
case WM_HSCROLL:
case WM_VSCROLL:
//scrolling the client area can goof up our drawing. if the user scrolls
//the client area, pass the message on to the original procedure and
//then request a complete repaint of the background.
Msg.Result = CallWindowProc ((FARPROC)OriginalClientProc, ClientHandle,
Msg.Msg, Msg.WParam, Msg.LParam);
InvalidateRect (ClientHandle, 0, true) ;
break ;
default:
// pass all other messages on to the original window procedure
// stored in OriginalClientProc
Msg.Result = CallWindowProc ((FARPROC)OriginalClientProc, ClientHandle,
Msg.Msg, Msg.WParam, Msg.LParam);
}
}
void __fastcall TFmain::DrawClientWindow (HDC &Hdc)
{
TRect rect ; // calculate size of backgnd
::GetClientRect (ClientHandle, (RECT *) &rect) ;
// painting a shaded gradient is slow, and can cause flickering
// eliminate flicker by using memory bitmaps and BitBlit
Graphics::TBitmap *MemBitmap = new Graphics::TBitmap;
// AnsiString AppPath = ExtractFilePath(Application->ExeName);
// MemBitmap->LoadFromFile(AppPath+"bmps\\ydgl.bmp"); // 动态装入位图文件
MemBitmap->LoadFromFile(bjbmp); // 动态装入位图文件
Fmain->Canvas->StretchDraw(rect, MemBitmap); // 显示位图图形
// Use API BitBlt to copy pixels to the screen.
if (MemBitmap->Width<Fmain->Width)MemBitmap->Width=Fmain->Width;
if (MemBitmap->Height<Fmain->Height)MemBitmap->Height=Fmain->Height;
::BitBlt(Hdc,0,0,MemBitmap->Width, MemBitmap->Height,
MemBitmap->Canvas->Handle,0,0,SRCCOPY);
MemBitmap->FreeImage();
delete MemBitmap; // delete the temporary bitmap.
}
void __fastcall TFmain::DestroyWnd ()
{
SetWindowLong (ClientHandle, GWL_WNDPROC, (long) OriginalClientProc) ;
FreeObjectInstance (ClientObjectInstance) ;
TForm::DestroyWnd();
}
void __fastcall TFmain::WMEraseBkgnd(TWMEraseBkgnd &Msg)
{ // tell Windows to forget about the
Msg.Result = false; // background. MDI client will draw
} // it later
void __fastcall TFmain::FormCloseQuery(TObject *Sender, bool &CanClose)
{
if ( Application->MessageBox("真的要退出系统吗?","提示", MB_YESNO|MB_ICONQUESTION)==IDYES)
CanClose = true;
else
CanClose = false;
}
//---------------------------------------------------------------------------
void __fastcall TFmain::FormClose(TObject *Sender, TCloseAction &Action)
{
TQuery *Query1=new TQuery(this);
Query1->DatabaseName="Yddb";
Query1->SQL->Add("insert into yhrz values('"+CLogin->gzzname+"',null,'"+Now()+"','退出')");
Query1->ExecSQL();
delete Query1;
Session->DeleteAlias("ydgl_c"); //删除BDE别名
Session->SaveConfigFile();
}
//---------------------------------------------------------------------------
void __fastcall TFmain::I14Click(TObject *Sender)
{
Fxlcs=new TFxlcs(Application);
Fxlcs->ShowModal();
delete Fxlcs;
tcjc=I14->Caption;
gnks(I14->Caption);
}
//---------------------------------------------------------------------------
void __fastcall TFmain::S11Click(TObject *Sender)
{
new TFczygl(Application);
tcjc=S11->Caption;
gnks(S11->Caption);
}
//---------------------------------------------------------------------------
void __fastcall TFmain::S17Click(TObject *Sender)
{
Fsjbf=new TFsjbf(Application);
Fsjbf->ShowModal();
delete Fsjbf;
tcjc=S17->Caption;
gnks(S17->Caption);
}
//---------------------------------------------------------------------------
void __fastcall TFmain::FormCreate(TObject *Sender)
{
bjbmp=ExtractFilePath(Application->ExeName)+"BMPS\\YDGL.BMP";
YDData->TBczrz->Open();
Menuint();
YDData->TBxtcs->Open();
}
//---------------------------------------------------------------------------
void __fastcall TFmain::W12Click(TObject *Sender)
{
Cascade();
}
//---------------------------------------------------------------------------
void __fastcall TFmain::W11Click(TObject *Sender)
{
Tile();
}
//---------------------------------------------------------------------------
void TFmain::Menuint()
{
YDData->TBczy->First();
while (!YDData->TBczy->Eof)
{
if (YDData->TBczy->FieldByName("czymc")->AsString==CLogin->czyname)break;
YDData->TBczy->Next();
}
AnsiString gnqx=YDData->TBczy->FieldByName("czqx1")->AsString;
TMenuItem *pe;
TMenuItem *pad;
for (int p=0;p<=MainMenu1->Items->Count-1;p++)
{
pad=MainMenu1->Items->Items[p];
for (int k=0;k<=pad->Count-1;k++)
{
pe=pad->Items[k];
int i;
bool zdl=false;
for (i=0;i<gnqx.Length()/3;i++)
{
if (gnqx.SubString(i*3+1,3)==pe->Name)
{
pe->Enabled=true;
zdl=true;
break;
}
}
if (zdl==false)pe->Enabled=false;
if (pe->Caption=="重新登录(&F)")
ToolButton1->Enabled=pe->Enabled;
if (pe->Caption=="报装业务受理(&A)")
ToolButton3->Enabled=pe->Enabled;
if (pe->Caption=="手工抄表(&C)")
ToolButton4->Enabled=pe->Enabled;
if (pe->Caption=="计算电费(&D)")
ToolButton5->Enabled=pe->Enabled;
if (pe->Caption=="收费(&G)")
ToolButton6->Enabled=pe->Enabled;
if (pe->Caption=="表户综合统计(&C)")
ToolButton7->Enabled=pe->Enabled;
}
}
}
void __fastcall TFmain::S12Click(TObject *Sender)
{
new TFxgmm(Application);
tcjc=S12->Caption;
gnks(S12->Caption);
}
//---------------------------------------------------------------------------
void __fastcall TFmain::S14Click(TObject *Sender)
{
CLogin->ShowModal();
Menuint();
}
//---------------------------------------------------------------------------
void __fastcall TFmain::S13Click(TObject *Sender)
{
Fczrz=new TFczrz(Application);
Fczrz->ShowModal();
delete Fczrz;
tcjc=S13->Caption;
gnks(S13->Caption);
}
//---------------------------------------------------------------------------
void TFmain::gnks(AnsiString gn)
{
YDData->TBczrz->Append();
YDData->TBczrz->FieldByName("station")->AsString=CLogin->gzzname;
YDData->TBczrz->FieldByName("name")->AsString=CLogin->czyname;
YDData->TBczrz->FieldByName("cznr")->AsString=gn.SubString(1,gn.Length()-4);
YDData->TBczrz->FieldByName("dfrq")->AsString=CLogin->ywrq;
YDData->TBczrz->FieldByName("date")->AsString=DateToStr(Date());
YDData->TBczrz->FieldByName("qssj")->AsString=TimeToStr(Time());
YDData->TBczrz->Post();
}
//------------
void TFmain::gnjs(AnsiString gnbt)
{
YDData->TBczrz->First();
while (!YDData->TBczrz->Eof)
{
if (YDData->TBczrz->FieldByName("station")->AsString==CLogin->gzzname&&
YDData->TBczrz->FieldByName("name")->AsString==CLogin->czyname&&
Trim(YDData->TBczrz->FieldByName("zzsj")->AsString)==""&&
YDData->TBczrz->FieldByName("cznr")->AsString==gnbt.SubString(1,gnbt.Length()-4))
{
YDData->TBczrz->Edit();
YDData->TBczrz->FieldByName("zzsj")->AsString=TimeToStr(Time());
YDData->TBczrz->Post();
break;
}
YDData->TBczrz->Next();
}
}
void __fastcall TFmain::W13Click(TObject *Sender)
{
OpenDialog1->Title ="请选择背景图画";
OpenDialog1->InitialDir=ExtractFilePath(Application->ExeName)+"bmps\\";
OpenDialog1->Filter = "bmp files (*.bmp)|*.bmp|All files (*.*)|*.*";
if(OpenDialog1->Execute())bjbmp=OpenDialog1->FileName;
TRect rect ; // calculate size of backgnd
::GetClientRect (ClientHandle, (RECT *) &rect) ;
Graphics::TBitmap *MemBitmap = new Graphics::TBitmap;
MemBitmap->LoadFromFile(bjbmp); // 动态装入位图文件
Fmain->Canvas->StretchDraw(rect, MemBitmap); // 显示位图图形
if (MemBitmap->Width<Fmain->Width)MemBitmap->Width=Fmain->Width;
if (MemBitmap->Height<Fmain->Height)MemBitmap->Height=Fmain->Height;
HDC Hdc = GetDC(ClientHandle);
::BitBlt(Hdc,0,0,MemBitmap->Width, MemBitmap->Height,
MemBitmap->Canvas->Handle,0,0,SRCCOPY);
MemBitmap->FreeImage();
delete MemBitmap; // delete the temporary bitmap.
}
//---------------------------------------------------------------------------
void __fastcall TFmain::H13Click(TObject *Sender)
{
new TFver(Application);
}
//---------------------------------------------------------------------------
void __fastcall TFmain::I13Click(TObject *Sender)
{
Fpqdm=new TFpqdm(Application);
Fpqdm->ShowModal();
delete Fpqdm;
tcjc=I13->Caption;
gnks(I13->Caption);
}
//---------------------------------------------------------------------------
void __fastcall TFmain::I15Click(TObject *Sender)
{
Fgds=new TFgds(Application);
Fgds->ShowModal();
delete Fgds;
tcjc=I15->Caption;
gnks(I15->Caption);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -