この例はDelphi7.0でデバッグされたことに注意してください
///////////////////////////////////////////////// //////////////////
(i)プロジェクトを確立する
新しいアイテム - >プロジェクト - > MDIアプリケーション
(2)MDIサブフォーム - ChildWinを再設計して、ChildWinで表示されているキャプチャされた画像を実現します。
ChildWin Childフォームの元のMEMO1コントロールを削除し、Imageコントロール、Image1.Align = Alclientを追加します。
image1.autosize = tureは元のサイズが表示され、strech = falseはオブジェクトボックスに従って表示されないことを意味します。
(iii)メインインターフェイスの変更
1)貼り付けに関連するアイテムとメニュー、ツールバー、ActionListに関連するアイテムを削除します
2)PrinterSetupDialog1とSavedialogコントロールをMainFormに追加します。
メニュー項目ファイル/印刷を追加、属性名はfilePrintitemです。
メニュー項目ファイル/印刷設定、プロパティ有効= false、名前はfilePrintsetです。
メニュー項目の編集/描画、そのプロパティが有効= false;
メニュー項目の編集/設定を追加し、それを設定してサブメニューを作成します。
メニュー項目の追加編集/設定/構成。
メニュー項目の編集/設定/ツールバーを追加、そのチェック= true、name = toolbaritem;
メニューイメージを追加します。
メニュー項目のイメージ/キャプチャデスクトップを追加します。
メニュー項目の画像/キャプチャエリアを追加します。
メニュー項目の追加画像/キャプチャウィンドウまたはコントロール。
メニュー項目の画像/キャプチャアイコンを追加します
画像メニューの下の4つのメニュー項目に対応する4つのツールバーボタンをツールバーに追加します。
ActionListに4つのアクションを追加します。CPTDESTOP、CPTAREA、CPTWINDOWS、CPTICON。
画像メニューの下の4つのメニュー項目のアクション属性は、それぞれ上記の4つのアクションに対応しています。
新しく追加された4つのツールバーボタンのアクション属性は、それぞれ上記の4つのアクションに対応しています。
3)MOVE実装は、ChildWinをメインユニットのインターフェイス使用に使用します。
インターフェイスの使用にSCRNCPTを追加します。
tmainformのpublicに定義を追加します:
子供:Tmdichild;
CaptureNum:整数;
ファイル名:文字列;
DefaultDirectory:string;
4)tmainformにプライベート機能を追加:手順遅延(MSECS:整数)
手順tmainform.delay(msecs:integer);
var firstTickCount:longint;
始める
firstTickCount:= getTickCount;
繰り返す
始める
application.processmessages;
終わり;
((getTickCount-firsttickCount)> = longint(msecs));
終わり;
5)[tmainform.createmdichild]プロセスを変更する:
変数var子:tmdichildを削除し、パラメーターnewfileを追加します
手順tmainform.createmdichild(const name:string; newfile:boolean);
始める
子:= tmdichild.create(アプリケーション);
child.caption:= name;
if(newfileではない)と(name <> '')から始めます
child.image1.picture.bitmap.loadfromfile(name);
child.horzscrollbar.range:= child.image1.picture.width;
child.vertscrollbar.range:= child.image1.picture.height;
終わり;
終わり;