Perhatikan bahwa contoh ini didebug di Delphi7.0
////////////////////////////////////////////////// THR ///////////////////////////////
(I) Membangun proyek
Item baru-> Proyek-> Aplikasi MDI
(2) Mendesain ulang subformat MDI - Childwin untuk mewujudkan gambar yang ditangkap yang ditampilkan di Childwin.
Hapus kontrol MEMO1 asli dalam bentuk anak Childwin dan tambahkan kontrol gambar, Image1.align = alclient.
Image1.Autosize = Ture berarti ukuran asli ditampilkan, dan strech = false berarti tidak ditampilkan sesuai dengan kotak objek.
(Iii) Modifikasi Antarmuka Utama
1) Hapus item yang terkait dengan Tempel dan Baru di Menu, Toolbar, ActionList
2) Tambahkan printersetupdialog1 dan kontrol saveDialog ke MainForm.
Tambahkan File Item Menu/Cetak, Nama Atributnya FilePrintitem;
Tambahkan File Item Menu/Pengaturan Cetak, Properti Diaktifkan = Salah, Nama FilePrintset;
Tambahkan item menu Edit/Draw, Properti diaktifkan = false;
Tambahkan Item Menu Edit/Preferensi dan atur untuk membuat submenu;
Tambahkan Item Menu Edit/Preferensi/Konfigurasi;
Tambahkan item menu Edit/Preferensi/Toolbar, yang diperiksa = true, name = toolbaritem;
Tambahkan gambar menu;
Tambahkan item menu gambar/tangkap desktop;
Tambahkan item menu gambar/area pengambilan;
Tambahkan Item Menu Gambar/Tangkap Jendela atau Kontrol;
Tambahkan Ikon Image/Capture Item Menu
Tambahkan empat tombol toolbar ke bilah alat, sesuai dengan empat item menu di bawah menu gambar.
Tambahkan empat tindakan ke ActionList: cptdestop, cptarea, cptwindows, cpticon;
Atribut tindakan dari empat item menu di bawah menu gambar masing -masing sesuai dengan empat tindakan di atas;
Atribut aksi dari empat tombol bilah alat yang baru ditambahkan masing -masing sesuai dengan empat tindakan di atas.
3) Pindah Implementasi menggunakan Childwin ke dalam penggunaan antarmuka di unit utama.
Tambahkan SCRNCPT ke penggunaan antarmuka;
Tambahkan definisi di publik TMAintForm:
Anak: Tmdichild;
Capturenum: Integer;
Nama file: string;
DefaultDirectory: String;
4) Tambahkan fungsi pribadi di TMAintForm: Prosedur Penundaan (MSEC: Integer)
Prosedur tMAintForm.Delay (MSECS: Integer);
var firstTickCount: longint;
Mulai
FirstTickCount: = GetTickCount; // Waktu dari Windows ke startup saat ini (Hao detik)
mengulang
Mulai
Application.ProcessMessages;
akhir;
sampai ((getTickCount-firsttickcount)> = longint (msecs));
akhir;
5) Ubah proses [tMAintForm.createMdichild]:
Hapus variabel var anak: tmdichild, tambahkan parameter newfile
Prosedur tMainForm.createMdichild (nama const: string; newfile: boolean);
Mulai
Anak: = tmdichild.create (aplikasi); {Buat jendela anak MDI baru}
Child.Caption: = nama;
if (bukan newfile) dan (name <> '') lalu mulailah
Child.image1.picture.bitmap.loadFromFile (nama);
Child.horzscrollbar.range: = child.image1.picture.width;
Child.VertScrollBar.Range: = Child.image1.picture.height;
akhir;
akhir;