Delphi图象截取编程示例(3)

(五)TMainForm的事件和函数 和 TPrinter打印应用
// 打印知识
[菜单项file/打印] 事件:
procedure TMainForm.filePrintItemClick(Sender: TObject);
begin
  {kh1}print;{kh2}
  Screen.Cursor := crHourglass;
  try
    if MDIChildCount<>0 then
      with ActiveMDIChild as TMDIChild do begin
        with Printer do begin
          BeginDoc;                                  //开始打印
          Canvas.Draw(0,0,Image1.Picture.Graphic);   //图形输出
          EndDoc;                                    //结束打印
        end;
      end;
  finally
    Screen.Cursor := crDefault;
  end;
end;

[菜单项file/打印设置] 事件:
procedure TMainForm.filePrintSetClick(Sender: TObject);
begin
  Screen.Cursor:=crHourglass;
  PrinterSetupDialog1.Execute ;
  Screen.Cursor:=crDefault;
end;
   
[菜单项edit/Preferences/ToolBar] 事件:
procedure TMainForm.toolbarItemClick(Sender: TObject);
begin
  toolbarItem.Checked := not toolbarItem.Checked ;
  ToolBar2.Visible := toolbarItem.Checked;
end; 
   
[MainMenu1.OnChange] 事件
procedure TMainForm.MainMenu1Change(...);
begin
  filePrintItem.Enabled := MDIChildCount>0;
  DrawItem.Enabled := MDIChildCount>0;
end;

[TMainForm.FormCreate] 事件
procedure TMainForm.FormCreate(Sender: TObject);
begin
  CaptureNum:=0;
  DefaultDirectory:=ExtractFilePath(Application.ExeName);
end;
   
[TMainForm.FileOpen] 事件
procedure TMainForm.OpenDialogExecute(Sender: TObject);
begin
  OpenDialog.InitialDir := DefaultDirectory;
  if OpenDialog.Execute then
  begin
    DefaultDirectory:=ExtractFileName(OpenDialog.FileName);
    CreateMDIChild(OpenDialog.FileName,false);
  end;;
end;

[TMainForm.FileSave、TMainForm.FileSaveAs] 事件
procedure TMainForm.FileSave1Execute(Sender: TObject);
begin
  with ActiveMDIChild as TMDIChild do begin
    FileName:=ExtractFileName(caption);
    FileName:=DefaultDirectory+FileName;
    SaveDialog.FileName:=FileName;
    if not SaveDialog.Execute then exit;
    FileName:=SaveDialog.FileName ;
    DefaultDirectory:=ExtractFileName(FileName);
    if FileExists(FileName)then begin
      if MessageDlg(FileName+' 已存在,替换它吗?',mtInformation,[mbYES,mbNO],0)=mrYES then
        DeleteFile(FileName)
      else exit;
    end;
    Image1.Picture.saveToFile(FileName);
    Caption:=FileName;
    StatusBar.SimpleText := FileName;
  end;
end;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值