程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi圖象截取編程示例(1)

Delphi圖象截取編程示例(1)

編輯:Delphi
 注意,本例在 Delphi7.0下調試通過
  ///////////////////////////////////////////////////////////

  (一)建立項目
    new Items-->Projects-->MDI Application
   
  (二)重新設計MDI子窗體--ChildWin,實現抓取的圖象在ChildWin中顯示。
  
    在ChildWin子窗體中去掉原有的Memo1控件,添加Image控件,Image1.Align=alClIEnt。
      Image1.AutoSize=ture表示原尺寸顯示,Strech=false表示不按對象框顯示。

  (三)主界面修改
    1)去掉 menu,toolbar,ActionList 中與 paste,new 相關的項
    2)添加 PrinterSetupDialog1,SaveDialog 控件到MainForm .
      添加菜單項file打印,屬性name為filePrintItem;
      添加菜單項file打印設置,屬性enabled=false,name為filePrintSet;
      添加菜單項editDraw ,它的屬性enabled=false ;
      添加菜單項editPreferences,設置它為包含字菜單(create Submenu);
      添加菜單項editPreferencesConfiguration;
      添加菜單項editPreferencesToolBar,它的checked=true,name=toolbarItem;
      添加菜單Image;
      添加菜單項ImageCapture Desktop;
      添加菜單項ImageCapture Area;
      添加菜單項ImageCapture Windows or Controls;
      添加菜單項ImageCapture Icon
     
      添加四個toolbar button 到 toolbar,對應Image菜單下的四個菜單項。
     
      添加四個Action到ActionList:cptDestop,cptArea,cptWindows,cptIcon;
      將Image菜單下的四個菜單項 的action屬性分別對應上面四個Action;
      將新增的四個toolbar button的action屬性分別對應上面四個Action。
     
    3)在Main單元中把implementation的uses CHILDWIN移到interface的uses中,
      添加ScrnCpt到interface的uses中;
      在TMainForm的public中添加定義:
          Child: TMDIChild;
          CaptureNum:integer;
          FileName:String;
          DefaultDirectory:string;
         
    4)在TMainForm添加私有函數:procedure Delay(msecs:integer)
  procedure TMainForm.Delay(msecs:integer); //實現延時
  var FirstTickCount:Longint;
  begin
    FirstTickCount:=GetTickCount; //Windows啟動到現在的時間(豪秒)
    repeat
      begin
        Application.ProcessMessages; //中斷程序讓Windows能響應發生的事件
      end;
    until ((GetTickCount-FirstTickCount)>=Longint(msecs));
  end;

    5)修改[TMainForm.CreateMDIChild]過程:
      去掉變量var Child: TMDIChild,添加參數newFile
  procedure TMainForm.CreateMDIChild(const Name: string;newFile:boolean);
  begin
    Child := TMDIChild.Create(Application); { create a new MDI child window }
    Child.Caption := Name;
    if (not newFile)and(Name<>'') then begin
      Child.Image1.Picture.Bitmap.LoadFromFile(Name);
      Child.HorzScrollBar.Range := Child.Image1.Picture.Width;
      Child.VertScrollBar.Range := Child.Image1.Picture.Height;
    end;
  end;    
  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved