Введение в Delphi. Рудалев В.Г - 27 стр.

UptoLike

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

27
//Ij_^hd
- PaintBox
g.OnPaint:=Button1Click; ^Kh[ulbxi_j_jbkh\db]jZnbdZ
gZagZqZ_lkyh[jZ[hlqbd%XWWRQ&OLFN`
Form1.WEdit.OnChange:=g.OnPaint;
// Ijbbaf_g_gbbqZklhlu]jZnbd[m^_lkjZami_j_jbkh\Zg
end;
AZ^Zgby
:
Fh^bnbpbjmcl_deZkkTGrafik^h[Z\b\\g_]hdhhj^bgZlgmxk_ldmbih^
ibkbagZq_gbcihhkyfb\\_^yk\hckl\h©lbi]jZnbdZªbaf_g_gb_dhlhjh]hi_
j_jbkh\u\Z_l]jZnbd\\b^_klhe[bdh\hc^bZ]jZffu>h[Z\vl_k\hckl\hmklZ
gh\dZdhlhjh]h\Trueijb\h^bldZ\lhfZlbq_kdhfmfZkrlZ[bjh\Zgbx]jZnbdZ
ihjZaf_jmjZfdbIj_^mkfhljbl_\hafh`ghklv^bZeh]h\h]hbaf_g_gbyp\_lZb
nhgZjbkmgdZkihfhsvxdhfihg_glZColorDialog
.
EZ[hjZlhjgZyjZ[hlZH[jZs_gb_dnmgdpbyf
API.
<dhg_qghfblh]_\u\h^bgnhjfZpbbgZwdjZg
\kj_^_
Windows
ijhbkoh
^blkihfhsvxnmgdpbc
GDI (Graphics Device Interface
bgl_jn_ck]jZnbq_kdbo
mkljhckl\
).
Nmgdpbb
GDI
y\eyxlkyqZklvx
API (Application Programming Inter-
face
bgl_jn_ckijbdeZ^gh]hijh]jZffbjh\Zgby
) Windows
b^hklmigubaijb
deZ^guoijh]jZffgZibkZgguogZex[uoyaudZo
.
<
Delphi
g_h[oh^bfhklvh[jZs_gbydnmgdpbyf
GDI
\hagbdZ_lkjZ\gb
l_evghj_^dh
JZkkfhlj_ggucgZfbdeZkkTCanvas
y\ey_lky
ihkmlbm^h[ghc
h[t_dlgh
-
hjb_glbjh\ZgghcgZ^kljhcdhcgZ^dhgl_dklhf]jZnbq_kdh]hmkl
jhckl\Z
Windows
bgdZikmebjmxs_ciZjZf_ljudhgl_dklZb[hevrbgkl\hgh
g_\k_
!)
nmgdpbb
GDI.
Dhgl_dkl]jZnbq_kdh]hmkljhckl\Z
-
wlhklZg^Zjlguc
^ey
Windows
gZ[hjiZjZf_ljh\oZjZdl_jbamxsbo\bjlmZevgh_]jZnbq_kdh_mkl
jhckl\hi_jhdbklvrjbnlkbkl_fZdhhj^bgZlb^jJZ[hlZkdhgl_dklhf
kljhblkyihko_f_
[3]:
ihemqblvdhgl_dkl^eyhdgZbeb^jm]hch[eZklbjbkh\Zgby;
\u\_klbbgnhjfZpbx;
hk\h[h^blvdhgl_dkl;
Wlb^_ckl\byh[uqgh\klZ\eyxl\ijhp_^mjmh[jZ[hldbkhh[s_gby
wm_PaintihkueZ_fh]hy^jhf
Windows
bbgnhjfbjmxs_]hijh]jZffmhg_h[
oh^bfhklbi_j_jbkh\dbhdgZIhke_ihemq_gbydhgl_dklZijh]jZff_klZgh\blky
^hklmi_g^_kdjbilhjdhgl_dklZ
-
i_j_f_ggZykh^_j`ZsZykkuedmgZdhgl_dkl
>_kdjbilhjaZl_fi_j_^Z_lky\kibkd_Zj]mf_glh\\uau\Z_fuf]jZnbq_kdbf
nmgdpbyf
API.
Ijb\u\h^_bgnhjfZpbbkh[ex^Z_lkyke_^mxsZyihke_^h\Zl_evghklv
^_ckl\bc^eydZ`^h]hbkihevam_fh]hbgkljmf_glZ_kebdhg_qghg_^hklZlhqgh
klZg^ZjlguoijbgyluoihmfheqZgbxi_jZdbklbrjbnlZ
:
kha^Zlvbgkljmf_gl (bkihevamygZijbf_jnmgdpbbCreatePen, Create-
SolidBrush, CreateFontIndirect);
\klZ\blv\dhgl_dkl (nmgdpbySelect);
bkihevah\Zlvdhgl_dkl;
                                     27

                                  //Ij_^hd- PaintBox
       g.OnPaint:=Button1Click; ^Kh[ulbxi_j_jbkh\db]jZnbdZ
                        gZagZqZ_lkyh[jZ[hlqbd%XWWRQ&OLFN`
       Form1.WEdit.OnChange:=g.OnPaint;
     // Ijbbaf_g_gbbqZklhlu]jZnbd[m^_lkjZami_j_jbkh\Zg
     end;
      AZ^Zgby:
      Fh^bnbpbjmcl_deZkkTGrafik^h[Z\b\\g_]hdhhj^bgZlgmxk_ldmbih^
ibkbagZq_gbcihhkyfb\\_^yk\hckl\h©lbi]jZnbdZªbaf_g_gb_dhlhjh]hi_
j_jbkh\u\Z_l]jZnbd\\b^_klhe[bdh\hc^bZ]jZffu>h[Z\vl_k\hckl\hmklZ
gh\dZdhlhjh]h\Trueijb\h^bldZ\lhfZlbq_kdhfmfZkrlZ[bjh\Zgbx]jZnbdZ
ihjZaf_jmjZfdbIj_^mkfhljbl_\hafh`ghklv^bZeh]h\h]hbaf_g_gbyp\_lZb
nhgZjbkmgdZkihfhsvxdhfihg_glZColorDialog.

     EZ[hjZlhjgZyjZ[hlZH[jZs_gb_dnmgdpbyfAPI.

       <dhg_qghfblh]_\u\h^bgnhjfZpbbgZwdjZg \kj_^_Windowsijhbkoh
^blkihfhsvxnmgdpbcGDI (Graphics Device Interfacebgl_jn_ck]jZnbq_kdbo
mkljhckl\).NmgdpbbGDI y\eyxlkyqZklvxAPI (Application Programming Inter-
facebgl_jn_ckijbdeZ^gh]hijh]jZffbjh\Zgby) Windowsb^hklmigubaijb
deZ^guoijh]jZffgZibkZgguogZex[uoyaudZo.
       <Delphi g_h[oh^bfhklvh[jZs_gbydnmgdpbyfGDI \hagbdZ_lkjZ\gb
l_evghj_^dh JZkkfhlj_ggucgZfbdeZkkTCanvas y\ey_lky ihkmlbm^h[ghc
h[t_dlgh-hjb_glbjh\ZgghcgZ^kljhcdhcgZ^dhgl_dklhf]jZnbq_kdh]hmkl
jhckl\Z WindowsbgdZikmebjmxs_ciZjZf_ljudhgl_dklZb[hevrbgkl\h gh
g_\k_!) nmgdpbbGDI.Dhgl_dkl]jZnbq_kdh]hmkljhckl\Z -wlhklZg^Zjlguc ^ey
WindowsgZ[hjiZjZf_ljh\oZjZdl_jbamxsbo\bjlmZevgh_]jZnbq_kdh_mkl
jhckl\h i_jhdbklvrjbnlkbkl_fZdhhj^bgZlb^j JZ[hlZkdhgl_dklhf
kljhblkyihko_f_ [3]:
       ihemqblvdhgl_dkl^eyhdgZbeb^jm]hch[eZklbjbkh\Zgby;
       \u\_klbbgnhjfZpbx;
       hk\h[h^blvdhgl_dkl;
       Wlb^_ckl\byh[uqgh\klZ\eyxl\ijhp_^mjmh[jZ[hldbkhh[s_gby
wm_PaintihkueZ_fh]hy^jhfWindows bbgnhjfbjmxs_]hijh]jZffmhg_h[
oh^bfhklbi_j_jbkh\dbhdgZIhke_ihemq_gbydhgl_dklZijh]jZff_klZgh\blky
^hklmi_g^_kdjbilhjdhgl_dklZ-i_j_f_ggZykh^_j`ZsZykkuedmgZdhgl_dkl
>_kdjbilhjaZl_fi_j_^Z_lky\kibkd_Zj]mf_glh\\uau\Z_fuf]jZnbq_kdbf
nmgdpbyfAPI.
       Ijb\u\h^_bgnhjfZpbbkh[ex^Z_lkyke_^mxsZyihke_^h\Zl_evghklv
^_ckl\bc^eydZ`^h]hbkihevam_fh]hbgkljmf_glZ _kebdhg_qghg_^hklZlhqgh
klZg^ZjlguoijbgyluoihmfheqZgbxi_jZdbklbrjbnlZ :
       kha^Zlvbgkljmf_gl (bkihevamygZijbf_jnmgdpbbCreatePen, Create-
SolidBrush, CreateFontIndirect);
       \klZ\blv\dhgl_dkl (nmgdpbySelect);
       bkihevah\Zlvdhgl_dkl;