(五)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;
[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;