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

📄 printset.cpp

📁 企业员工考勤和工资管理系统
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "PrintSet.h"
#include "DM1.h"
#include "MyPrint.h"
#include "SortSelect.h"
#include "ChangeTitle.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFormPrintSet *FormPrintSet;

//---------------------------------------------------------------------------
__fastcall TFormPrintSet::TFormPrintSet(TComponent* Owner)
  : TForm(Owner)
{
  for (int i= 0;i<50;i++)
  {

      pColumn[i] = NULL;

  }
}
//----------------------------------------------
__fastcall TFormPrintSet::~TFormPrintSet()
{
 for (int i= 0;i<50;i++)
  {
    if (pColumn[i])
    {
      delete pColumn[i];
      pColumn[i] = NULL;
    }
  }
}
//-----------------------------------------------------
void __fastcall TFormPrintSet::SetGrid(TDBGrid *pSourceGrid)
{
  DBGrid1->Columns->Clear();
  DBGrid1->Columns->Assign(pSourceGrid->Columns);
}
//-----------------------------------------------------
void __fastcall TFormPrintSet::SetColumn(TDBGrid *pGrid)
{
  int nLeft,nTop;
  nLeft = 0;
  nTop = 0;
  for (int i = 0;i<pGrid->Columns->Count;i++)
  {
    pColumn[i] = new TCheckBox(this);
    pColumn[i]->Parent = Panel1;
    pColumn[i]->Caption = pGrid->Columns->Items[i]->Title->Caption ;
    pColumn[i]->Width = strlen(pGrid->Columns->Items[i]->Title->Caption.c_str()) * 6 + 30;
    pColumn[i]->Checked = pGrid->Columns->Items[i]->Visible;
    //if ((Panel1->Width - nLeft) < pColumn[i]->Width)
    if ((Panel1->Width - nLeft) < 84)
    {
      nTop = nTop + pColumn[i]->Height;
      if ((Panel1->Height - nTop) < pColumn[i]->Height)
      {
        Panel1->Height = Panel1->Height + pColumn[i]->Height;
        for(int j = 0;j < ControlCount;j++)
        {
          if (Controls[j]->Top <= Panel1->Top) continue;
          Controls[j]->Top += pColumn[i]->Height;
        }
        Height += pColumn[i]->Height +2;
      }
      nLeft = 0;
    }
    pColumn[i]->Top = nTop+ 2;
    pColumn[i]->Left = nLeft + 4;

    //nLeft = nLeft + pColumn[i]->Width;
    nLeft = nLeft + 100;

  }
}
//---------------------------------------------------------------------------
void __fastcall TFormPrintSet::FormShow(TObject *Sender)
{

  SetColumn(DBGrid1);
}

//-------------------------------------------------------
void __fastcall TFormPrintSet::SetDataSource(TDataSet *pSourceDataSet)
{
  pQuery = dynamic_cast<TADOQuery *>(pSourceDataSet);
  DataSource1->DataSet = pQuery;
}
//-------------------------------------------------------

void __fastcall TFormPrintSet::DelColumn()
{
  for (int i= 0;i<50;i++)
  {
    if (pColumn[i])
    {
      delete pColumn[i];
      pColumn[i] = NULL;
    }
  }
}
//---------------------------------------------------------------------------

void __fastcall TFormPrintSet::DBGrid1ColumnMoved(TObject *Sender,
      int FromIndex, int ToIndex)
{
  DelColumn();
  SetColumn(DBGrid1);
}
//---------------------------------------------------------------------------
void __fastcall TFormPrintSet::ButtonSelectColumnClick(TObject *Sender)
{
  if (ButtonSelectColumn->Caption == "选择打印列(&A)")
  {
    Panel1->Color = clInfoBk ;
    Panel1->Enabled = true;
    DBGrid1->Enabled = false;
    BitBtnPreview->Enabled = false;
    BitBtnPrint->Enabled = false;
    ButtonSelectColumn->Caption = "确定(&A)";
  }
  else
  {
    Panel1->Color = clBtnFace;
    Panel1->Enabled = false;
    DBGrid1->Enabled = true;
    BitBtnPreview->Enabled = true;
    BitBtnPrint->Enabled = true;
    ButtonSelectColumn->Caption = "选择打印列(&A)";
    for(int i =0;i < DBGrid1->Columns->Count;i++)
    {
      DBGrid1->Columns->Items[i]->Visible = pColumn[i]->Checked;
    }
  }
}
//---------------------------------------------------------------------------
void __fastcall TFormPrintSet::Button2Click(TObject *Sender)
{
  FontDialog1->Font = DBGrid1->Columns->Items[0]->Title->Font ;

  if(FontDialog1->Execute())
  {
    for(int i =0;i<DBGrid1->Columns->Count; i++)
    {
      DBGrid1->Columns->Items[i]->Title->Font = FontDialog1->Font;
    }
  }
}
//---------------------------------------------------------------------------
void __fastcall TFormPrintSet::Button1Click(TObject *Sender)
{
  FontDialog2->Font = DBGrid1->Font ;
  if(FontDialog2->Execute())
  {
    DBGrid1->Font = FontDialog2->Font ;
  }
}
//---------------------------------------------------------------------------
void __fastcall TFormPrintSet::Button3Click(TObject *Sender)
{
   FontDialog3->Font = EditTitle->Font;
   if(FontDialog3->Execute())
   EditTitle->Font = FontDialog3->Font;
}
//---------------------------------------------------------------------------
void __fastcall TFormPrintSet::BitBtnPreviewClick(TObject *Sender)
{
  if (nPrintErr == 1)
  {
    ShowMessage("连接打印机失败! 请检查打印机连接是否正确,然后重新运行程序!");
    return;
  }
  //TFormMyPrint * FormMyPrint = new TFormMyPrint(this);
  FormMyPrint->SetTitle(EditTitle->Text,EditTitle->Font);
  FormMyPrint->SetLabel(DBGrid1,DataSource1->DataSet);
  FormMyPrint->repPreview();
  //delete FormMyPrint;
}
//---------------------------------------------------------------------------


void __fastcall TFormPrintSet::BitBtnPrintClick(TObject *Sender)
{

  //TFormMyPrint * FormMyPrint = new TFormMyPrint(this);
  if (nPrintErr == 1)
  {
    ShowMessage("连接打印机失败! 请检查打印机连接是否正确,然后重新运行程序!");
    return;
  }
  FormMyPrint->SetTitle(EditTitle->Text,EditTitle->Font);
  FormMyPrint->SetLabel(DBGrid1,DataSource1->DataSet);
  FormMyPrint->repPrint();

  //delete FormMyPrint;
}
//---------------------------------------------------------------------------

void __fastcall TFormPrintSet::BitBtn1Click(TObject *Sender)
{
  Close();
}
//---------------------------------------------------------------------------

void __fastcall TFormPrintSet::Button4Click(TObject *Sender)
{
  TFormSortSelect *FormSortSelect = new TFormSortSelect(this);
  FormSortSelect->SetItem(DBGrid1);
  if (FormSortSelect->ShowModal() == mrOk)
  pQuery->Sort = FormSortSelect->sSort;
  delete FormSortSelect;

}
//---------------------------------------------------------------------------
void __fastcall TFormPrintSet::Button5Click(TObject *Sender)
{
  TFormChangeTitle * FormChangeTitle = new TFormChangeTitle(this);
  FormChangeTitle->pGrid = DBGrid1;
  FormChangeTitle->ShowModal();
  delete FormChangeTitle;        
}
//---------------------------------------------------------------------------

void __fastcall TFormPrintSet::BitBtnPrintSetClick(TObject *Sender)
{
  if (nPrintErr == 1)
  {
    ShowMessage("连接打印机失败! 请检查打印机连接是否正确,然后重新运行程序!");
    return;
  }
  FormMyPrint->QuickRep1->PrinterSetup();
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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