Разработка компонентов в DELPHI. Вощинская Г.Э. - 8 стр.

UptoLike

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

ɡɭɸɳɟɝɨ ɞɟɫɤɪɢɩɬɨɪ ɨɤɧɚ ɢɥɢ ɞɥɹ
ɫɨɡɞɚɧɢɹ ɨɛɨɥɨɱɤɢ ɜɨɤɪɭɝ ɫɭɳɟɫɬ-
ɜɭɸɳɢɯ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɢɯ ɨɤɨɧ-
ɧɵɯ ɷɥɟɦɟɧɬɨɜ ɭɩɪɚɜɥɟɧɢɹ
TCustomControl
Ɉɪɢɝɢɧɚɥɶɧɨɝɨ ɤɨɦɩɨɧɟɧɬɚ
TComponent
ɇɟɜɢɡɭɚɥɶɧɨɝɨ ɤɨɦɩɨɧɟɧɬɚ
Ɂɚɱɚɫɬɭɸ ɧɨɜɨɦɭ ɤɨɦɩɨɧɟɧɬɭ ɧɟ ɧɭɠɧɵ ɜɫɟ ɫɜɨɣɫɬɜɚ ɩɪɟɞɤɚ, ɤɨɬɨ-
ɪɵɯ ɦɨɝɭɬ ɛɵɬɶ ɦɧɨɝɢɟ ɞɟɫɹɬɤɢ. ɑɬɨɛɵ ɭɩɪɨɫɬɢɬɶ ɪɚɡɪɚɛɨɬɤɭ, ɜ ɢɟɪɚɪɯɢɢ
ɤɨɦɩɨɧɟɧɬɨɜ ɢɦɟɸɬɫɹ ɤɨɦɩɨɧɟɧɬɵ, ɜ ɧɚɡɜɚɧɢɢ ɤɨɬɨɪɵɯ ɩɪɢɫɭɬɫɬɜɭɟɬ ɫɥɨ-
ɜɨ «Custom» (ɡɚɤɚɡɧɨɣ). Ɍɚɤɢɟ ɤɨɦɩɨɧɟɧɬɵ ɧɟ ɢɦɟɸɬ ɨɩɭɛɥɢɤɨɜɚɧɧɵɯ
ɫɜɨɣɫɬɜ, ɬ. ɟ. ɫɜɨɣɫɬɜ, ɜɢɞɧɵɯ ɜ ɢɧɫɩɟɤɬɨɪɟ ɨɛɴɟɤɬɨɜ. ȼɫɟ ɫɜɨɣɫɬɜɚ, ɞɨɫ-
ɬɭɩɧɵɟ ɤ ɨɩɭɛɥɢɤɨɜɚɧɢɸ, ɩɟɪɟɱɢɫɥɟɧɵ ɜ ɫɟɤɰɢɢ protected. ɉɨɷɬɨɦɭ
ɟɫɥɢ ɦɵ ɯɨɬɢɦ ɦɨɞɢɮɢɰɢɪɨɜɚɬɶ TEdit, ɧɨ ɧɟ ɜɫɟ ɫɜɨɣɫɬɜɚ TEdit ɧɚɦ
ɧɭɠɧɵ, ɬɨ ɥɭɱɲɟ ɧɚɫɥɟɞɨɜɚɬɶ ɧɟ ɨɬ TEdit, ɚɨɬTCustomEdit. Ⱦɚɥɟɟ,
ɱɬɨɛɵ ɨɩɭɛɥɢɤɨɜɚɬɶ ɧɟɨɛɯɨɞɢɦɵɟ ɫɜɨɣɫɬɜɚ ɜ ɧɚɲɟɦ ɤɨɦɩɨɧɟɧɬɟ, ɫɥɟɞɭɟɬ
ɩɪɢ ɨɛɴɹɜɥɟɧɢɢ ɟɝɨ ɤɥɚɫɫɚ ɩɪɨɫɬɨ ɩɟɪɟɱɢɫɥɢɬɶ ɧɚɡɜɚɧɢɹ ɫɜɨɣɫɬɜ ɜ ɫɟɤɰɢɢ
published.
2. ɋɬɪɭɤɬɭɪɚ ɤɨɦɩɨɧɟɧɬɚ
2.1. Ɉɛɥɚɫɬɢ ɜɢɞɢɦɨɫɬɢ
Ʉɨɦɩɨɧɟɧɬɵ ɢɦɟɸɬ ɪɚɡɧɵɟ ɩɪɨɝɪɚɦɦɧɵɟ ɢɧɬɟɪɮɟɣɫɵ: ɢɧɬɟɪɮɟɣɫ
ɜɪɟɦɟɧɢ ɜɵɩɨɥɧɟɧɢɹ (ɤɚɤ ɤɨɦɩɨɧɟɧɬ ɦɨɠɟɬ ɢɫɩɨɥɶɡɨɜɚɬɶɫɹ, ɤɚɤɢɟ ɦɟɬɨɞɵ,
ɫɜɨɣɫɬɜɚ ɢ ɫɨɛɵɬɢɹ ɛɭɞɭɬ ɞɨɫɬɭɩɧɵ), ɢɧɬɟɪɮɟɣɫ ɜɪɟɦɟɧɢ ɩɪɨɟɤɬɢɪɨɜɚɧɢɹ
(ɤɚɤ ɤɨɦɩɨɧɟɧɬ ɜɟɞɺɬ ɫɟɛɹ ɜ ɫɪɟɞɟ ɩɪɨɟɤɬɢɪɨɜɚɧɢɹ), ɢɧɬɟɪɮɟɣɫ ɪɚɡɪɚɛɨɬ-
ɱɢɤɚ (ɨɛɟɫɩɟɱɢɜɚɟɬ ɞɨɫɬɭɩ ɤ ɞɟɬɚɥɹɦ ɪɟɚɥɢɡɚɰɢɢ). ɑɬɨɛɵ ɫɨɨɬɜɟɬɫɬɜɟɧɧɨ
ɪɚɡɝɪɚɧɢɱɢɬɶ ɞɨɫɬɭɩ ɤ ɩɨɥɹɦ, ɦɟɬɨɞɚɦ ɢ ɫɜɨɣɫɬɜɚɦ ɤɥɚɫɫɚ (ɬ. ɟ. ɡɚɞɚɬɶ ɨɛ-
8
                                        ɡɭɸɳɟɝɨ ɞɟɫɤɪɢɩɬɨɪ ɨɤɧɚ ɢɥɢ ɞɥɹ
                                        ɫɨɡɞɚɧɢɹ ɨɛɨɥɨɱɤɢ ɜɨɤɪɭɝ ɫɭɳɟɫɬ-
                                        ɜɭɸɳɢɯ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɢɯ ɨɤɨɧ-
                                        ɧɵɯ ɷɥɟɦɟɧɬɨɜ ɭɩɪɚɜɥɟɧɢɹ
 TCustomControl                         Ɉɪɢɝɢɧɚɥɶɧɨɝɨ ɤɨɦɩɨɧɟɧɬɚ
 TComponent                             ɇɟɜɢɡɭɚɥɶɧɨɝɨ ɤɨɦɩɨɧɟɧɬɚ

     Ɂɚɱɚɫɬɭɸ ɧɨɜɨɦɭ ɤɨɦɩɨɧɟɧɬɭ ɧɟ ɧɭɠɧɵ ɜɫɟ ɫɜɨɣɫɬɜɚ ɩɪɟɞɤɚ, ɤɨɬɨ-
ɪɵɯ ɦɨɝɭɬ ɛɵɬɶ ɦɧɨɝɢɟ ɞɟɫɹɬɤɢ. ɑɬɨɛɵ ɭɩɪɨɫɬɢɬɶ ɪɚɡɪɚɛɨɬɤɭ, ɜ ɢɟɪɚɪɯɢɢ
ɤɨɦɩɨɧɟɧɬɨɜ ɢɦɟɸɬɫɹ ɤɨɦɩɨɧɟɧɬɵ, ɜ ɧɚɡɜɚɧɢɢ ɤɨɬɨɪɵɯ ɩɪɢɫɭɬɫɬɜɭɟɬ ɫɥɨ-
ɜɨ «Custom» (ɡɚɤɚɡɧɨɣ). Ɍɚɤɢɟ ɤɨɦɩɨɧɟɧɬɵ ɧɟ ɢɦɟɸɬ ɨɩɭɛɥɢɤɨɜɚɧɧɵɯ
ɫɜɨɣɫɬɜ, ɬ. ɟ. ɫɜɨɣɫɬɜ, ɜɢɞɧɵɯ ɜ ɢɧɫɩɟɤɬɨɪɟ ɨɛɴɟɤɬɨɜ. ȼɫɟ ɫɜɨɣɫɬɜɚ, ɞɨɫ-
ɬɭɩɧɵɟ ɤ ɨɩɭɛɥɢɤɨɜɚɧɢɸ, ɩɟɪɟɱɢɫɥɟɧɵ ɜ ɫɟɤɰɢɢ protected. ɉɨɷɬɨɦɭ
ɟɫɥɢ ɦɵ ɯɨɬɢɦ ɦɨɞɢɮɢɰɢɪɨɜɚɬɶ TEdit, ɧɨ ɧɟ ɜɫɟ ɫɜɨɣɫɬɜɚ TEdit ɧɚɦ
ɧɭɠɧɵ, ɬɨ ɥɭɱɲɟ ɧɚɫɥɟɞɨɜɚɬɶ ɧɟ ɨɬ TEdit, ɚ ɨɬ TCustomEdit. Ⱦɚɥɟɟ,
ɱɬɨɛɵ ɨɩɭɛɥɢɤɨɜɚɬɶ ɧɟɨɛɯɨɞɢɦɵɟ ɫɜɨɣɫɬɜɚ ɜ ɧɚɲɟɦ ɤɨɦɩɨɧɟɧɬɟ, ɫɥɟɞɭɟɬ
ɩɪɢ ɨɛɴɹɜɥɟɧɢɢ ɟɝɨ ɤɥɚɫɫɚ ɩɪɨɫɬɨ ɩɟɪɟɱɢɫɥɢɬɶ ɧɚɡɜɚɧɢɹ ɫɜɨɣɫɬɜ ɜ ɫɟɤɰɢɢ
published.


                       2. ɋɬɪɭɤɬɭɪɚ ɤɨɦɩɨɧɟɧɬɚ


                        2.1. Ɉɛɥɚɫɬɢ ɜɢɞɢɦɨɫɬɢ

     Ʉɨɦɩɨɧɟɧɬɵ ɢɦɟɸɬ ɪɚɡɧɵɟ ɩɪɨɝɪɚɦɦɧɵɟ ɢɧɬɟɪɮɟɣɫɵ: ɢɧɬɟɪɮɟɣɫ
ɜɪɟɦɟɧɢ ɜɵɩɨɥɧɟɧɢɹ (ɤɚɤ ɤɨɦɩɨɧɟɧɬ ɦɨɠɟɬ ɢɫɩɨɥɶɡɨɜɚɬɶɫɹ, ɤɚɤɢɟ ɦɟɬɨɞɵ,
ɫɜɨɣɫɬɜɚ ɢ ɫɨɛɵɬɢɹ ɛɭɞɭɬ ɞɨɫɬɭɩɧɵ), ɢɧɬɟɪɮɟɣɫ ɜɪɟɦɟɧɢ ɩɪɨɟɤɬɢɪɨɜɚɧɢɹ
(ɤɚɤ ɤɨɦɩɨɧɟɧɬ ɜɟɞɺɬ ɫɟɛɹ ɜ ɫɪɟɞɟ ɩɪɨɟɤɬɢɪɨɜɚɧɢɹ), ɢɧɬɟɪɮɟɣɫ ɪɚɡɪɚɛɨɬ-
ɱɢɤɚ (ɨɛɟɫɩɟɱɢɜɚɟɬ ɞɨɫɬɭɩ ɤ ɞɟɬɚɥɹɦ ɪɟɚɥɢɡɚɰɢɢ). ɑɬɨɛɵ ɫɨɨɬɜɟɬɫɬɜɟɧɧɨ
ɪɚɡɝɪɚɧɢɱɢɬɶ ɞɨɫɬɭɩ ɤ ɩɨɥɹɦ, ɦɟɬɨɞɚɦ ɢ ɫɜɨɣɫɬɜɚɦ ɤɥɚɫɫɚ (ɬ. ɟ. ɡɚɞɚɬɶ ɨɛ-


                                    8