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

📄 empworklist.pas

📁 彩票销售系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
end;

procedure TEmpWorkList_Form.ClientButton10Click(Sender: TObject);
begin
  ClientId:=10;
  first_bz:=true;
  screport(Sender);
end;

procedure TEmpWorkList_Form.ClientButton11Click(Sender: TObject);
begin
  ClientId:=11;
  first_bz:=true;
  screport(Sender);
end;

procedure TEmpWorkList_Form.ClientButton12Click(Sender: TObject);
begin
  ClientId:=12;
  first_bz:=true;
  screport(Sender);
end;

procedure TEmpWorkList_Form.ClientButton13Click(Sender: TObject);
begin
  ClientId:=13;
  first_bz:=true;
  screport(Sender);
end;

procedure TEmpWorkList_Form.ClientButton14Click(Sender: TObject);
begin
  ClientId:=14;
  first_bz:=true;
  screport(Sender);
end;

procedure TEmpWorkList_Form.ClientButton15Click(Sender: TObject);
begin
  ClientId:=15;
  first_bz:=true;
  screport(Sender);
end;

procedure TEmpWorkList_Form.ClientButton16Click(Sender: TObject);
begin
  ClientId:=16;
  first_bz:=true;
  screport(Sender);
end;

procedure TEmpWorkList_Form.ClientButton17Click(Sender: TObject);
begin
  ClientId:=17;
  first_bz:=true;
  screport(Sender);
end;

procedure TEmpWorkList_Form.ClientButton18Click(Sender: TObject);
begin
  ClientId:=18;
  first_bz:=true;
  screport(Sender);
end;

procedure TEmpWorkList_Form.ClientButton19Click(Sender: TObject);
begin
  ClientId:=19;
  first_bz:=true;
  screport(Sender);
end;

procedure TEmpWorkList_Form.ClientButton20Click(Sender: TObject);
begin
  ClientId:=20;
  first_bz:=true;
  screport(Sender);
end;

procedure TEmpWorkList_Form.BitBtn1Click(Sender: TObject);
const 
  LeftBlank=1;//定义页边距单位厘米
  RightBlank=1;
  TopBlank=2;
  BottomBlank=3;

var
  PointX,PointY,lx,ly:integer;
  PointScale,PrintStep:integer;
  s:string;
  x,y,y1:integer;
  i,j:integer;
  print_ti:boolean;
  comno:string;
begin
  print_ti:=false;
  //comno:='hl00';
  //获取当前打印机的分辨率
  PointX:=Trunc(GetDeviceCaps(Printer.Handle,LOGPIXELSX)/2.54);
  PointY:=Trunc(GetDeviceCaps(Printer.Handle,LOGPIXELSY)/2.54);
  //根据打印机和屏幕的分辨率计算出从屏幕转换到打印机的比例
  PointScale:=Trunc(GetDeviceCaps(Printer.Handle,LOGPIXELSX)/Screen.PixelsPerInch+0.5);
  j:=0;
  //横向打印
  for i:=0 to DBGrid1.FieldCount-1 do
  begin
    if DBGrid1.Columns[i].Visible then
    begin
      j:=j+1;
    end;
  end;
  if j<10 then
    printer.Orientation:=poPortrait
  else
    printer.Orientation:=poLandscape;
  //打印的字体和大小
  printer.Canvas.Font.Name:='宋体';
  printer.canvas.Font.Size:=14;
  //根据字体的大小确定每行的高度
  s:='有限公司';
  PrintStep:=printer.canvas.TextHeight(s)+26;
  //打印的起点位置
  x:=PointX*LeftBlank;
  y:=PointY*TopBlank;
  ly:=PointY*TopBlank+100;
  //DataSource1是DBGrid1所连接的数据源
  if ((DataSource1.DataSet).Active=true) and ((DataSource1.DataSet).RecordCount>0) then
  begin
     printer.BeginDoc;
    (DataSource1.DataSet).First;
    while not (DataSource1.DataSet).Eof do
    begin //打印DBGrid中的所有列
      for i:=0 to DBGrid1.FieldCount-1 do
      begin
        if DBGrid1.Columns[i].Visible then
        begin
        //假如所要打印的列超出了打印范围,则忽略该列
          if (x+DBGrid1.Columns.Items[i].Width*PointScale)<=(Printer.PageWidth-PointX*RightBlank)then
          begin //画表格线
            //**打印标题**//
            if y=PointY*TopBlank then
            begin
            if not print_ti then
            begin
              printer.Canvas.Font.Name:='宋体';
              printer.canvas.Font.Size:=18;
              comno:='                                  员工操作明细表 ' ;
              Printer.Canvas.TextOut(x+60,y-160,comno);
              printer.Canvas.Font.Name:='宋体';
              printer.canvas.Font.Size:=14;
              comno:='                          打印时间:'+DateToStr(Date);
              printer.Canvas.TextOut(x,y-20,comno);
              print_ti:=true;
              y:=y+100;
            end;
            end;
            printer.Canvas.Font.Color:=DBGrid1.Columns.Items[i].Font.Color;
            Printer.Canvas.Rectangle(x,y-8,x+DBGrid1.Columns.Items[i].Width*PointScale,y+PrintStep);
            if y=ly then
            begin
              printer.Canvas.Font.Name:='宋体';
              printer.canvas.Font.Size:=14;
              Printer.Canvas.TextOut(x+8,y,DBGrid1.Columns[i].Title.Caption);
            end
          else
            begin
              if (emplistsp.Fields[5].value='翻工') then
                printer.Canvas.Font.Color:=clRed
              else
                printer.Canvas.Font.Color:=clBlue;
              printer.Canvas.Font.Name:='宋体';
              printer.canvas.Font.Size:=14;
              Printer.Canvas.TextOut(x+8,y,DBGrid1.Fields[i].asString);
            end;
          end;
          //计算下一列的横坐标
          x:=x+DBGrid1.Columns.Items[i].Width*PointScale;
        end;
      end;
      //if not (y=PointY*TopBlank) then (DataSource1.DataSet).next;
      if not (y=ly) then (DataSource1.DataSet).next;
      x:=PointX*LeftBlank;
      y:=y+PrintStep; //换页
      if (y+PrintStep)>(Printer.PageHeight-PointY*BottomBlank) then
      begin
        Printer.NewPage;
        y:=PointY*TopBlank;
        print_ti:=false;
      end;
    end;
    printer.Canvas.Font.Name:='宋体';
    printer.canvas.Font.Size:=14;
    comno:='共'+IntToStr(emplistsp.RecordCount)+'条记录';
    Printer.Canvas.TextOut(x+60,y+60,comno);
    printer.EndDoc;
    Application.MessageBox('打印完成','打印',32);
    (DataSource1.DataSet).First;
   end ;

end;

procedure TEmpWorkList_Form.FormCreate(Sender: TObject);
begin
  Application.OnMessage:=OnMouseWheel; // 截获鼠标滚动事件
end;

Procedure TEmpWorkList_Form.OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
begin
  if Msg.message = WM_MouseWheel then
  begin
    if Msg.wParam > 0 then
     begin
       if DBGrid1.Focused then
         DataSource1.DataSet.Prior;
     end
    else
     begin
       if DBGrid1.Focused then
         DataSource1.DataSet.Next;
     end;
    Handled:= True;
  end;
end;

procedure TEmpWorkList_Form.DBGrid1DrawDataCell(Sender: TObject;
  const Rect: TRect; Field: TField; State: TGridDrawState);
var
  i:integer;
begin
  
end;

procedure TEmpWorkList_Form.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  with TMyDBGrid(Sender) do
  begin
    if (emplistsp.Fields[5].value='翻工') then
    begin
     (Sender as TDBGrid).Canvas.Brush.Color := RGB(191, 255, 223);  //定义背景颜色
     (Sender as TDBGrid).Canvas.Font.Color:=clRed;
    end
    else
    begin
      (Sender as TDBGrid).Canvas.Brush.Color := RGB(191, 255, 223); //定义背景颜色
      (Sender as TDBGrid).Canvas.Font.Color:=clBlue;
    end;
    DefaultDrawColumnCell(Rect,DataCol,Column,State);
    
  end;

end;

end.

⌨️ 快捷键说明

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