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

UptoLike

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

ɩɭɛɥɢɤɭɟɦɵɟ ɫɜɨɣɫɬɜɚ, ɬɨ ɫɜɨɣɫɬɜɨ ɨɛɴɟɤɬɚ
ɜ ɂɧɫɩɟɤɬɨɪɟ ɪɚɫɲɢɪɹɟɬɫɹ ɢ ɩɨɹɜɥɹɟɬɫɹ
ɜɨɡɦɨɠɧɨɫɬɶ ɨɬɪɟɞɚɤɬɢɪɨɜɚɬɶ ɤɚɠɞɨɟ ɩɨɞ-
ɫɜɨɣɫɬɜɨ (ɧɚɩɪɢɦɟɪ, ɧɚɡɜɚɧɢɟ ɲɪɢɮɬɚ)
ɉɨɞɱɟɪɤɧɟɦ, ɟɫɥɢ ɫɨɡɞɚɧɧɵɟ ɜ ɜɚɲɟɦ ɤɨɦɩɨɧɟɧɬɟ ɫɜɨɣɫɬɜɚ ɢɦɟɸɬ
ɬɢɩɵ, ɩɟɪɟɱɢɫɥɟɧɧɵɟ ɜ ɬɚɛɥɢɰɟ, ɬɨ ɩɪɢɥɚɝɚɬɶ ɞɨɩɨɥɧɢɬɟɥɶɧɵɟ ɭɫɢɥɢɹ ɢ
ɫɨɡɞɚɜɚɬɶ ɪɟɞɚɤɬɨɪɵ ɫɜɨɣɫɬɜ ɧɟɬ ɨɫɨɛɨɣ ɧɟɨɛɯɨɞɢɦɨɫɬɢ, Delphi ɜɫɟ ɫɞɟɥɚ-
ɟɬ ɫɚɦɨɫɬɨɹɬɟɥɶɧɨ. ȼ ɱɚɫɬɧɨɫɬɢ, ɫɬɚɧɞɚɪɬɧɵɟ ɪɟɞɚɤɬɨɪɵ ɜɵɡɵɜɚɸɬɫɹ ɩɪɢ
ɩɨɩɵɬɤɟ ɪɟɞɚɤɬɢɪɨɜɚɧɢɹ ɫɜɨɣɫɬɜ ɬɢɩɨɜ TFont, TStrings, TPicture ɢ
ɧɟɤɨɬɨɪɵɯ ɞɪɭɝɢɯ. ȼ ɛɨɥɟɟ ɫɥɨɠɧɵɯ ɫɥɭɱɚɹɯ, ɧɚɩɪɢɦɟɪ, ɩɪɢ ɫɨɡɞɚɧɢɢ ɜɟɤ-
ɬɨɪɧɵɯ ɫɜɨɣɫɬɜ, ɫɥɟɞɭɟɬ ɪɚɡɪɚɛɚɬɵɜɚɬɶ ɫɨɛɫɬɜɟɧɧɵɟ ɪɟɞɚɤɬɨɪɵ ɫɜɨɣɫɬɜ,
ɢɧɚɱɟ ɫɜɨɣɫɬɜɨ ɧɟ ɫɦɨɠɟɬ ɛɵɬɶ ɨɬɨɛɪɚɠɟɧɨ ɜ ɂɧɫɩɟɤɬɨɪɟ ɨɛɴɟɤɬɨɜ.
ɋɬɚɧɞɚɪɬɧɵɟ ɪɟɞɚɤɬɨɪɵ ɫɜɨɣɫɬɜ ɜɵɩɨɥɧɟɧɵ ɜ ɜɢɞɟ ɤɥɚɫɫɨɜ. ɂɧɬɟɪ-
ɮɟɣɫɵ ɤ ɤɥɚɫɫɚɦ ɧɚɯɨɞɹɬɫɹ ɜ ɦɨɞɭɥɟ Dsgnintf.pas (ɫɦ. ɤɚɬɚɥɨɝ
..\Delphi7\Source\ToolsApi). ɂɡɭɱɟɧɢɟ ɷɬɨɝɨ ɦɨɞɭɥɹɧɟɨɛɯɨɞɢɦɵɣ ɷɬɚɩ
ɩɪɢ ɧɚɩɢɫɚɧɢɢ ɫɨɛɫɬɜɟɧɧɵɯ ɪɟɞɚɤɬɨɪɨɜ ɫɜɨɣɫɬɜ.
Ȼɚɡɨɜɵɦ ɹɜɥɹɟɬɫɹ ɤɥɚɫɫ TPropertyEditor. ȿɝɨ ɩɨɬɨɦɤɚɦɢ ɹɜɥɹ-
ɸɬɫɹ ɬɢɩɢɡɢɪɨɜɚɧɧɵɟ ɤɥɚɫɫɵ TIntegerProperty, TColorProperty,
TCharProperty, TSetProperty, TFloatProperty,
TstringProperty, TFontNameProperty, TCaptionProperty,
Tfont-Property ɢɞɪ. ɇɚɡɧɚɱɟɧɢɹ ɤɥɚɫɫɨɜ ɫɨɨɬɜɟɬɫɬɜɭɸɬ ɧɚɡɜɚɧɢɸ.
Ʉɥɚɫɫ TFloatProperty ɫɜɹɡɚɧ ɫɨ ɫɜɨɣɫɬɜɚɦɢ, ɤɨɬɨɪɵɟ ɢɦɟɸɬ ɬɢɩ
Float, ɤɥɚɫɫ TFontProperty ɫɜɹɡɚɧ ɫɨ ɫɜɨɣɫɬɜɚɦɢ, ɤɨɬɨɪɵɟ ɢɦɟɸɬ ɬɢɩ
TFont ɢɬ. ɩ.
Ⱦɥɹ ɫɨɡɞɚɧɢɹ ɧɨɜɨɝɨ ɪɟɞɚɤɬɨɪɚ ɫɜɨɣɫɬɜ ɧɟɨɛɯɨɞɢɦɨ ɜɵɛɪɚɬɶ ɜ ɤɚɱɟ-
ɫɬɜɟ ɩɪɟɞɤɚ ɥɢɛɨ ɨɞɢɧ ɢɡ ɬɢɩɢɡɢɪɨɜɚɧɧɵɯ ɤɥɚɫɫɨɜ
, ɥɢɛɨ, ɟɫɥɢ ɩɨɞɯɨɞɹɳɟ-
15
                ɩɭɛɥɢɤɭɟɦɵɟ ɫɜɨɣɫɬɜɚ, ɬɨ ɫɜɨɣɫɬɜɨ ɨɛɴɟɤɬɚ
                ɜ ɂɧɫɩɟɤɬɨɪɟ ɪɚɫɲɢɪɹɟɬɫɹ ɢ ɩɨɹɜɥɹɟɬɫɹ
                ɜɨɡɦɨɠɧɨɫɬɶ ɨɬɪɟɞɚɤɬɢɪɨɜɚɬɶ ɤɚɠɞɨɟ ɩɨɞ-
                ɫɜɨɣɫɬɜɨ (ɧɚɩɪɢɦɟɪ, ɧɚɡɜɚɧɢɟ ɲɪɢɮɬɚ)


     ɉɨɞɱɟɪɤɧɟɦ, ɟɫɥɢ ɫɨɡɞɚɧɧɵɟ ɜ ɜɚɲɟɦ ɤɨɦɩɨɧɟɧɬɟ ɫɜɨɣɫɬɜɚ ɢɦɟɸɬ
ɬɢɩɵ, ɩɟɪɟɱɢɫɥɟɧɧɵɟ ɜ ɬɚɛɥɢɰɟ, ɬɨ ɩɪɢɥɚɝɚɬɶ ɞɨɩɨɥɧɢɬɟɥɶɧɵɟ ɭɫɢɥɢɹ ɢ
ɫɨɡɞɚɜɚɬɶ ɪɟɞɚɤɬɨɪɵ ɫɜɨɣɫɬɜ ɧɟɬ ɨɫɨɛɨɣ ɧɟɨɛɯɨɞɢɦɨɫɬɢ, Delphi ɜɫɟ ɫɞɟɥɚ-
ɟɬ ɫɚɦɨɫɬɨɹɬɟɥɶɧɨ. ȼ ɱɚɫɬɧɨɫɬɢ, ɫɬɚɧɞɚɪɬɧɵɟ ɪɟɞɚɤɬɨɪɵ ɜɵɡɵɜɚɸɬɫɹ ɩɪɢ
ɩɨɩɵɬɤɟ ɪɟɞɚɤɬɢɪɨɜɚɧɢɹ ɫɜɨɣɫɬɜ ɬɢɩɨɜ TFont, TStrings, TPicture ɢ
ɧɟɤɨɬɨɪɵɯ ɞɪɭɝɢɯ. ȼ ɛɨɥɟɟ ɫɥɨɠɧɵɯ ɫɥɭɱɚɹɯ, ɧɚɩɪɢɦɟɪ, ɩɪɢ ɫɨɡɞɚɧɢɢ ɜɟɤ-
ɬɨɪɧɵɯ ɫɜɨɣɫɬɜ, ɫɥɟɞɭɟɬ ɪɚɡɪɚɛɚɬɵɜɚɬɶ ɫɨɛɫɬɜɟɧɧɵɟ ɪɟɞɚɤɬɨɪɵ ɫɜɨɣɫɬɜ,
ɢɧɚɱɟ ɫɜɨɣɫɬɜɨ ɧɟ ɫɦɨɠɟɬ ɛɵɬɶ ɨɬɨɛɪɚɠɟɧɨ ɜ ɂɧɫɩɟɤɬɨɪɟ ɨɛɴɟɤɬɨɜ.
     ɋɬɚɧɞɚɪɬɧɵɟ ɪɟɞɚɤɬɨɪɵ ɫɜɨɣɫɬɜ ɜɵɩɨɥɧɟɧɵ ɜ ɜɢɞɟ ɤɥɚɫɫɨɜ. ɂɧɬɟɪ-
ɮɟɣɫɵ ɤ ɤɥɚɫɫɚɦ ɧɚɯɨɞɹɬɫɹ ɜ ɦɨɞɭɥɟ Dsgnintf.pas (ɫɦ. ɤɚɬɚɥɨɝ
..\Delphi7\Source\ToolsApi). ɂɡɭɱɟɧɢɟ ɷɬɨɝɨ ɦɨɞɭɥɹ – ɧɟɨɛɯɨɞɢɦɵɣ ɷɬɚɩ
ɩɪɢ ɧɚɩɢɫɚɧɢɢ ɫɨɛɫɬɜɟɧɧɵɯ ɪɟɞɚɤɬɨɪɨɜ ɫɜɨɣɫɬɜ.
     Ȼɚɡɨɜɵɦ ɹɜɥɹɟɬɫɹ ɤɥɚɫɫ TPropertyEditor. ȿɝɨ ɩɨɬɨɦɤɚɦɢ ɹɜɥɹ-
ɸɬɫɹ ɬɢɩɢɡɢɪɨɜɚɧɧɵɟ ɤɥɚɫɫɵ TIntegerProperty, TColorProperty,
TCharProperty,            TSetProperty,             TFloatProperty,
TstringProperty,       TFontNameProperty,        TCaptionProperty,
Tfont-Property ɢ ɞɪ. ɇɚɡɧɚɱɟɧɢɹ ɤɥɚɫɫɨɜ ɫɨɨɬɜɟɬɫɬɜɭɸɬ ɧɚɡɜɚɧɢɸ.
Ʉɥɚɫɫ TFloatProperty ɫɜɹɡɚɧ ɫɨ ɫɜɨɣɫɬɜɚɦɢ, ɤɨɬɨɪɵɟ ɢɦɟɸɬ ɬɢɩ
Float, ɤɥɚɫɫ TFontProperty ɫɜɹɡɚɧ ɫɨ ɫɜɨɣɫɬɜɚɦɢ, ɤɨɬɨɪɵɟ ɢɦɟɸɬ ɬɢɩ
TFont ɢ ɬ. ɩ.
     Ⱦɥɹ ɫɨɡɞɚɧɢɹ ɧɨɜɨɝɨ ɪɟɞɚɤɬɨɪɚ ɫɜɨɣɫɬɜ ɧɟɨɛɯɨɞɢɦɨ ɜɵɛɪɚɬɶ ɜ ɤɚɱɟ-
ɫɬɜɟ ɩɪɟɞɤɚ ɥɢɛɨ ɨɞɢɧ ɢɡ ɬɢɩɢɡɢɪɨɜɚɧɧɵɯ ɤɥɚɫɫɨɜ, ɥɢɛɨ, ɟɫɥɢ ɩɨɞɯɨɞɹɳɟ-



                                  15