Введение в технологию программирования. Ч.1. Среда объектно-ориентированного программирования Delphi. Коржов Е.Н - 63 стр.

UptoLike

Составители: 

ɇɨɜɵɟ ɷɥɟɦɟɧɬɵ ɭɩɪɚɜɥɟɧɢɹ ɜ ɫɬɢɥɟ Windows 2000/ɏɊ ɪɚɫɩɨɥɨɠɟɧɵ ɧɚ
ɫɬɪɚɧɢɰɟ Win32. ɗɬɨ ɦɧɨɝɨɫɬɪɚɧɢɱɧɵɟ ɛɥɨɤɧɨɬɵ, ɤɨɧɬɟɣɧɟɪɵ ɞɥɹ ɩɚɧɟɥɟɣ
ɢɧɫɬɪɭɦɟɧɬɨɜ ɫ ɜɨɡɦɨɠɧɨɫɬɶɸ ɩɟɪɟɧɨɫɚ ɷɥɟɦɟɧɬɨɜ ɭɩɪɚɜɥɟɧɢɹ (Docking),
ɞɪɟɜɨɜɢɞɧɵɟ ɫɩɢɫɤɢ, ɤɚɥɟɧɞɚɪɢ, ɤɨɦɩɨɧɟɧɬɵ ɞɥɹ ɢɡɦɟɧɟɧɢɹ ɡɧɚɱɟɧɢɣ
(ɩɥɚɜɧɨɝɨTɌrackBar ɢ ɫɤɚɱɤɨɨɛɪɚɡɧɨɝɨTUpDate), ɤɨɦɩɨɧɟɧɬ ɞɥɹ
ɨɬɨɛɪɚɠɟɧɢɹ ɩɪɨɰɟɫɫɚ ɜɵɩɨɥɧɟɧɢɹ ɨɩɟɪɚɰɢɢ ɢ ɞɪɭɝɢɟ.
1.1. ɉɨɞɝɨɬɨɜɢɬɟɥɶɧɵɟ ɞɟɣɫɬɜɢɹ
1. ɋɨɡɞɚɣɬɟ ɜ ɫɜɨɟɦ ɤɚɬɚɥɨɝɟ ɩɨɞɤɚɬɚɥɨɝ Lab7.
2. ɋɨɡɞɚɣɬɟ ɧɨɜɨɟ ɩɪɢɥɨɠɟɧɢɟ.
1.2. ɉɚɧɟɥɢ ɢɧɫɬɪɭɦɟɧɬɨɜ
1. ɉɨɦɟɫɬɢɬɟ ɧɚ ɮɨɪɦɭ ɤɨɧɬɟɣɧɟɪ ɞɥɹ ɩɚɧɟɥɟɣ ɢɧɫɬɪɭɦɟɧɬɨɜ
TControlBar
(ɫɬɪɚɧɢɰɚ Additional). Ɉɧ ɚɤɬɢɜɧɨ ɢɫɩɨɥɶɡɭɟɬ ɬɟɯɧɨɥɨ-
ɝɢɸ Drag & Drop ɞɥɹ ɭɩɪɚɜɥɟɧɢɹ ɩɨɥɨɠɟɧɢɟɦ ɩɚɧɟɥɟɣ. ɍɫɬɚɧɨɜɢɬɟ ɜ ɟɝɨ
ɫɜɨɣɫɬɜɨ Align ɡɧɚɱɟɧɢɟ alTop, ɜ AutoSize – True, ɜ DragKind – dkDock.
Ɉɫɬɚɜɶɬɟ ɜ ɫɜɨɣɫɬɜɟ DragMode ɡɧɚɱɟɧɢɟ dmManual. Ʉɨɦɩɨɧɟɧɬ
TControlBar ɫɥɭɠɢɬ ɭɞɨɛɧɵɦ ɤɨɧɬɟɣɧɟɪɨɦ ɞɥɹ ɪɚɡɦɟɳɟɧɢɹ ɢɧɫɬɪɭɦɟɧ-
ɬɚɥɶɧɵɯ ɩɚɧɟɥɟɣ TɌoolBar
(ɫɬɪɚɧɢɰɚ Win32).
2. ɉɨɥɨɠɢɬɟ ɧɚ ɫɜɨɛɨɞɧɨɟ ɦɟɫɬɨ ɮɨɪɦɵ ɞɜɚ ɤɨɦɩɨɧɟɧɬɚ ImageList
(ɫɬɪɚɧɢɰɚ Win32) ɢ ɧɚɩɨɥɧɢɬɟ ɤɚɠɞɵɣ ɢɡ ɧɢɯ ɱɟɬɵɪɶɦɹ ɢɡɨɛɪɚɠɟɧɢɹɦɢ.
ɑɬɨɛɵ ɧɚɩɨɥɧɢɬɶ ɤɨɦɩɨɧɟɧɬ ImageList ɢɡɨɛɪɚɠɟɧɢɹɦɢ, ɞɜɚɠɞɵ ɳɟɥɤɧɢɬɟ
ɩɨ ɧɟɦɭ ɦɵɲɶɸ ɢɥɢ ɜɵɛɟɪɢɬɟ ɜ ɟɝɨ ɜɫɩɨɦɨɝɚɬɟɥɶɧɨɦ ɦɟɧɸ (ɳɟɥɱɨɤ ɩɪɚ-
ɜɨɣ ɤɥɚɜɢɲɟɣ ɦɵɲɢ) ɨɩɰɢɸ ImageList Editor.
3. ȼ ɩɨɹɜɢɜɲɟɦɫɹ ɨɤɧɟ ɪɟɞɚɤɬɨɪɚ ɧɚɠɦɢɬɟ ɤɧɨɩɤɭ <Add> ɢ ɜɵɛɟɪɢɬɟ
BMP-ɮɚɣɥɵ ɢɡ ɤɚɬɚɥɨɝɚ Images\Buttons. Ɏɚɣɥɵ ɜ ɷɬɨɦ ɤɚɬɚɥɨɝɟ ɢɦɟɸɬ ɩɨ
ɞɜɚ ɢɡɨɛɪɚɠɟɧɢɹ, ɜ ɬɨ ɜɪɟɦɹ ɤɚɤ ɤɨɦɩɨɧɟɧɬ ImageList ɫɩɨɫɨɛɟɧ ɯɪɚɧɢɬɶ
ɬɨɥɶɤɨ ɨɞɢɧɨɱɧɵɟ ɢɡɨɛɪɚɠɟɧɢɹ ɨɞɢɧɚɤɨɜɨɝɨ ɪɚɡɦɟɪɚ. ɉɨɷɬɨɦɭ ɪɟɞɚɤɬɨɪ
ɩɪɟɞɥɨɠɢɬ ɜɚɦ ɪɚɡɞɟɥɢɬɶ ɞɜɚ ɢɡɨɛɪɚɠɟɧɢɹ. ɋɨɝɥɚɫɢɬɟɫɶ ɫ ɧɢɦ. ɓɟɥɤɧɢɬɟ
ɩɨ ɩɪɚɜɨɦɭ ɢɡɨɛɪɚɠɟɧɢɸ ɜ ɨɤɧɟ ɪɟɞɚɤɬɨɪɚ ɢ ɧɚɠɦɢɬɟ ɤɧɨɩɤɭ <Delete>,
ɱɬɨɛɵ ɭɧɢɱɬɨɠɢɬɶ ɟɝɨ.
4. ɉɨɜɬɨɪɢɬɟ ɩ. 3 ɞɥɹ ɡɚɝɪɭɡɤɢ ɧɟɫɤɨɥɶɤɢɯ ɢɡɨɛɪɚɠɟɧɢɣ ɢ ɡɚɬɟɦ ɡɚ-
ɤɪɨɣɬɟ ɪɟɞɚɤɬɨɪ.
5. ɉɨɦɟɫɬɢɬɟ ɧɚ ɤɨɦɩɨɧɟɧɬ ControlBar1 ɤɨɦɩɨɧɟɧɬ TToolBar (ɫɬɪɚ-
ɧɢɰɚ Win32). ɍɫɬɚɧɨɜɢɬɟ ɜ ɫɜɨɣɫɬɜɨ Images ɤɨɦɩɨɧɟɧɬɚ ToolBar1 ɡɧɚɱɟ-
ɧɢɟ ImageList1 ɢ ɩɨɦɟɫɬɢɬɟ ɜ ɧɟɝɨ ɱɟɬɵɪɟ ɤɧɨɩɤɢ. Ⱦɥɹ ɜɫɬɚɜɤɢ ɤɧɨɩɤɢ
ɳɟɥɤɧɢɬɟ ɩɨ ToolBar1 ɩɪɚɜɨɣ ɤɧɨɩɤɨɣ ɢ ɜɵɛɟɪɢɬɟ ɨɩɰɢɸ NewButton.
6. ɉɨɦɟɫɬɢɬɟ ɧɚ ControlBar1 ɟɳɟ ɨɞɢɧ ɤɨɦɩɨɧɟɧɬ TToolBar. ɂɡɦɟ-
ɧɢɬɟ ɜ ɟɝɨ ɫɜɨɣɫɬɜɟ Align ɡɧɚɱɟɧɢɟ alTop ɧɚ alNone. ɋɜɹɠɢɬɟ ɤɨɦɩɨɧɟɧɬ
ɫ ImageList2 (ɫɜɨɣɫɬɜɨ Images) ɢ ɫɨɡɞɚɣɬɟ ɜ ɧɟɦ ɤɧɨɩɤɢ (ɫɦ. ɩ. 5).
7. Ⱦɥɹ ɨɛɨɢɯ ɤɨɦɩɨɧɟɧɬɨɜ TToolBar ɩɨɦɟɫɬɢɬɟ ɜ ɫɜɨɣɫɬɜɚ DragKind
ɡɧɚɱɟɧɢɹ dkDock, ɜ DragMode – dmAutomatic ɢɜAutoSize – True.
8. Ɂɚɩɭɫɬɢɬɟ ɩɪɨɝɪɚɦɦɭ ɢ ɩɨɩɪɨɛɭɣɬɟ ɩɟɪɟɦɟɫɬɢɬɶ ɩɚɧɟɥɢ.
1.3. Ɇɧɨɝɨɫɬɪɚɧɢɱɧɵɣ ɛɥɨɤɧɨɬ
63
   ɇɨɜɵɟ ɷɥɟɦɟɧɬɵ ɭɩɪɚɜɥɟɧɢɹ ɜ ɫɬɢɥɟ Windows 2000/ɏɊ ɪɚɫɩɨɥɨɠɟɧɵ ɧɚ
ɫɬɪɚɧɢɰɟ Win32. ɗɬɨ ɦɧɨɝɨɫɬɪɚɧɢɱɧɵɟ ɛɥɨɤɧɨɬɵ, ɤɨɧɬɟɣɧɟɪɵ ɞɥɹ ɩɚɧɟɥɟɣ
ɢɧɫɬɪɭɦɟɧɬɨɜ ɫ ɜɨɡɦɨɠɧɨɫɬɶɸ ɩɟɪɟɧɨɫɚ ɷɥɟɦɟɧɬɨɜ ɭɩɪɚɜɥɟɧɢɹ (Docking),
ɞɪɟɜɨɜɢɞɧɵɟ ɫɩɢɫɤɢ, ɤɚɥɟɧɞɚɪɢ, ɤɨɦɩɨɧɟɧɬɵ ɞɥɹ ɢɡɦɟɧɟɧɢɹ ɡɧɚɱɟɧɢɣ
(ɩɥɚɜɧɨɝɨ – TɌrackBar ɢ ɫɤɚɱɤɨɨɛɪɚɡɧɨɝɨ – TUpDate), ɤɨɦɩɨɧɟɧɬ ɞɥɹ
ɨɬɨɛɪɚɠɟɧɢɹ ɩɪɨɰɟɫɫɚ ɜɵɩɨɥɧɟɧɢɹ ɨɩɟɪɚɰɢɢ ɢ ɞɪɭɝɢɟ.
   1.1. ɉɨɞɝɨɬɨɜɢɬɟɥɶɧɵɟ ɞɟɣɫɬɜɢɹ
      1.   ɋɨɡɞɚɣɬɟ ɜ ɫɜɨɟɦ ɤɚɬɚɥɨɝɟ ɩɨɞɤɚɬɚɥɨɝ Lab7.
      2.   ɋɨɡɞɚɣɬɟ ɧɨɜɨɟ ɩɪɢɥɨɠɟɧɢɟ.
   1.2.    ɉɚɧɟɥɢ ɢɧɫɬɪɭɦɟɧɬɨɜ
   1. ɉɨɦɟɫɬɢɬɟ ɧɚ ɮɨɪɦɭ ɤɨɧɬɟɣɧɟɪ ɞɥɹ ɩɚɧɟɥɟɣ ɢɧɫɬɪɭɦɟɧɬɨɜ
TControlBar       (ɫɬɪɚɧɢɰɚ Additional). Ɉɧ ɚɤɬɢɜɧɨ ɢɫɩɨɥɶɡɭɟɬ ɬɟɯɧɨɥɨ-
ɝɢɸ Drag & Drop ɞɥɹ ɭɩɪɚɜɥɟɧɢɹ ɩɨɥɨɠɟɧɢɟɦ ɩɚɧɟɥɟɣ. ɍɫɬɚɧɨɜɢɬɟ ɜ ɟɝɨ
ɫɜɨɣɫɬɜɨ Align ɡɧɚɱɟɧɢɟ alTop, ɜ AutoSize – True, ɜ DragKind – dkDock.
Ɉɫɬɚɜɶɬɟ ɜ ɫɜɨɣɫɬɜɟ DragMode ɡɧɚɱɟɧɢɟ dmManual. Ʉɨɦɩɨɧɟɧɬ
TControlBar ɫɥɭɠɢɬ ɭɞɨɛɧɵɦ ɤɨɧɬɟɣɧɟɪɨɦ ɞɥɹ ɪɚɡɦɟɳɟɧɢɹ ɢɧɫɬɪɭɦɟɧ-
ɬɚɥɶɧɵɯ ɩɚɧɟɥɟɣ TɌoolBar     (ɫɬɪɚɧɢɰɚ Win32).
   2. ɉɨɥɨɠɢɬɟ ɧɚ ɫɜɨɛɨɞɧɨɟ ɦɟɫɬɨ ɮɨɪɦɵ ɞɜɚ ɤɨɦɩɨɧɟɧɬɚ ImageList
(ɫɬɪɚɧɢɰɚ Win32) ɢ ɧɚɩɨɥɧɢɬɟ ɤɚɠɞɵɣ ɢɡ ɧɢɯ ɱɟɬɵɪɶɦɹ ɢɡɨɛɪɚɠɟɧɢɹɦɢ.
ɑɬɨɛɵ ɧɚɩɨɥɧɢɬɶ ɤɨɦɩɨɧɟɧɬ ImageList ɢɡɨɛɪɚɠɟɧɢɹɦɢ, ɞɜɚɠɞɵ ɳɟɥɤɧɢɬɟ
ɩɨ ɧɟɦɭ ɦɵɲɶɸ ɢɥɢ ɜɵɛɟɪɢɬɟ ɜ ɟɝɨ ɜɫɩɨɦɨɝɚɬɟɥɶɧɨɦ ɦɟɧɸ (ɳɟɥɱɨɤ ɩɪɚ-
ɜɨɣ ɤɥɚɜɢɲɟɣ ɦɵɲɢ) ɨɩɰɢɸ ImageList Editor.
   3. ȼ ɩɨɹɜɢɜɲɟɦɫɹ ɨɤɧɟ ɪɟɞɚɤɬɨɪɚ ɧɚɠɦɢɬɟ ɤɧɨɩɤɭ  ɢ ɜɵɛɟɪɢɬɟ
BMP-ɮɚɣɥɵ ɢɡ ɤɚɬɚɥɨɝɚ Images\Buttons. Ɏɚɣɥɵ ɜ ɷɬɨɦ ɤɚɬɚɥɨɝɟ ɢɦɟɸɬ ɩɨ
ɞɜɚ ɢɡɨɛɪɚɠɟɧɢɹ, ɜ ɬɨ ɜɪɟɦɹ ɤɚɤ ɤɨɦɩɨɧɟɧɬ ImageList ɫɩɨɫɨɛɟɧ ɯɪɚɧɢɬɶ
ɬɨɥɶɤɨ ɨɞɢɧɨɱɧɵɟ ɢɡɨɛɪɚɠɟɧɢɹ ɨɞɢɧɚɤɨɜɨɝɨ ɪɚɡɦɟɪɚ. ɉɨɷɬɨɦɭ ɪɟɞɚɤɬɨɪ
ɩɪɟɞɥɨɠɢɬ ɜɚɦ ɪɚɡɞɟɥɢɬɶ ɞɜɚ ɢɡɨɛɪɚɠɟɧɢɹ. ɋɨɝɥɚɫɢɬɟɫɶ ɫ ɧɢɦ. ɓɟɥɤɧɢɬɟ
ɩɨ ɩɪɚɜɨɦɭ ɢɡɨɛɪɚɠɟɧɢɸ ɜ ɨɤɧɟ ɪɟɞɚɤɬɨɪɚ ɢ ɧɚɠɦɢɬɟ ɤɧɨɩɤɭ ,
ɱɬɨɛɵ ɭɧɢɱɬɨɠɢɬɶ ɟɝɨ.
   4. ɉɨɜɬɨɪɢɬɟ ɩ. 3 ɞɥɹ ɡɚɝɪɭɡɤɢ ɧɟɫɤɨɥɶɤɢɯ ɢɡɨɛɪɚɠɟɧɢɣ ɢ ɡɚɬɟɦ ɡɚ-
ɤɪɨɣɬɟ ɪɟɞɚɤɬɨɪ.
   5. ɉɨɦɟɫɬɢɬɟ ɧɚ ɤɨɦɩɨɧɟɧɬ ControlBar1 ɤɨɦɩɨɧɟɧɬ TToolBar (ɫɬɪɚ-
ɧɢɰɚ Win32). ɍɫɬɚɧɨɜɢɬɟ ɜ ɫɜɨɣɫɬɜɨ Images ɤɨɦɩɨɧɟɧɬɚ ToolBar1 ɡɧɚɱɟ-
ɧɢɟ ImageList1 ɢ ɩɨɦɟɫɬɢɬɟ ɜ ɧɟɝɨ ɱɟɬɵɪɟ ɤɧɨɩɤɢ. Ⱦɥɹ ɜɫɬɚɜɤɢ ɤɧɨɩɤɢ
ɳɟɥɤɧɢɬɟ ɩɨ ToolBar1 ɩɪɚɜɨɣ ɤɧɨɩɤɨɣ ɢ ɜɵɛɟɪɢɬɟ ɨɩɰɢɸ NewButton.
   6. ɉɨɦɟɫɬɢɬɟ ɧɚ ControlBar1 ɟɳɟ ɨɞɢɧ ɤɨɦɩɨɧɟɧɬ TToolBar. ɂɡɦɟ-
ɧɢɬɟ ɜ ɟɝɨ ɫɜɨɣɫɬɜɟ Align ɡɧɚɱɟɧɢɟ alTop ɧɚ alNone. ɋɜɹɠɢɬɟ ɤɨɦɩɨɧɟɧɬ
ɫ ImageList2 (ɫɜɨɣɫɬɜɨ Images) ɢ ɫɨɡɞɚɣɬɟ ɜ ɧɟɦ ɤɧɨɩɤɢ (ɫɦ. ɩ. 5).
   7. Ⱦɥɹ ɨɛɨɢɯ ɤɨɦɩɨɧɟɧɬɨɜ TToolBar ɩɨɦɟɫɬɢɬɟ ɜ ɫɜɨɣɫɬɜɚ DragKind
ɡɧɚɱɟɧɢɹ dkDock, ɜ DragMode – dmAutomatic ɢ ɜ AutoSize – True.
   8. Ɂɚɩɭɫɬɢɬɟ ɩɪɨɝɪɚɦɦɭ ɢ ɩɨɩɪɨɛɭɣɬɟ ɩɟɪɟɦɟɫɬɢɬɶ ɩɚɧɟɥɢ.
   1.3. Ɇɧɨɝɨɫɬɪɚɧɢɱɧɵɣ ɛɥɨɤɧɨɬ
                                  63