ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠΈΡΡΠ°
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Buttonl. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Buttonl. Enabled := True. Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ — ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΡΠ΅ΠΌ Π½Π°ΠΆΠ°ΡΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ (ΡΠΈΡ. 33). ΠΠ°ΠΏΠΈΡΠ΅ΠΌ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠ½ΠΎΠΏΠΎΠΊ «Π£Π²Π΅Π»ΠΈΡΠΈΡΡ ΡΡΠΈΡΡ», Π½Π° Π΄ΡΡΠ³ΠΎΠΉ — «Π£ΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΡΠΈΡΡ» (ΡΠΈΡ. 35). If Labell.Font.Size div 2 ≥ MinSize then Labell.Font.Size := Labell.Font.Size… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠΈΡΡΠ° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ — ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΡΠ΅ΠΌ Π½Π°ΠΆΠ°ΡΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ (ΡΠΈΡ. 33).
Π ΠΈΡ. 33. ΠΠΊΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠΎΠΌΠ΅ΡΡΠΈΠΌ Π½Π° ΡΠΎΡΠΌΡ Π½Π°Π΄ΠΏΠΈΡΡ Label ΠΈ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Button. Π ΡΠΏΠΈΡΠΊΠ΅ ΡΠ²ΠΎΠΉΡΡΠ² ΠΌΠ΅ΡΠΊΠΈ Π΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ParentColor. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ True, Ρ. Π΅. ΡΠ²Π΅Ρ ΠΌΠ΅ΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡΠ²Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΌΠ΅ΡΠΊΠ°. ΠΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²Π΅Ρ ΠΌΠ΅ΡΠΊΠΈ, ΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ParentColor ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° False. ΠΠ²Π΅Π΄Π΅ΠΌ ΡΠ΅ΠΊΡΡ «Π’Π΅ΠΊΡΡ» Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Caption ΠΌΠ΅ΡΠΊΠΈ. ΠΠ°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΡΠΈΡΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 24) ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² ΠΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (ΡΠΈΡ. 34).
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ (Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ) ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΈΡΡΠ°.
ΠΠ°ΠΏΠΈΡΠ΅ΠΌ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠ½ΠΎΠΏΠΎΠΊ «Π£Π²Π΅Π»ΠΈΡΠΈΡΡ ΡΡΠΈΡΡ», Π½Π° Π΄ΡΡΠ³ΠΎΠΉ — «Π£ΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΡΠΈΡΡ» (ΡΠΈΡ. 35).
Π ΠΈΡ. 34. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Size ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Label
Π ΠΈΡ. 35. ΠΠΊΠ½ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Π² ΠΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ Events ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½Π΅ΠΌ ΠΏΠΎ ΠΏΡΡΡΠΎΠΌΡ ΠΏΠΎΠ»Ρ ΡΠΏΡΠ°Π²Π° ΠΎΡ ΡΠ»ΠΎΠ²Π° OnClick. Π ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΊΠΎΠ΄Π° ΠΏΠΎΡΠ²ΠΈΡΡΡ Π·Π°Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΡΠ΅Π°Π³ΠΈΡΡΡΡΠ΅ΠΉ Π½Π° Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ:
procedure TForml. ButtonlClick (Sender: TObject);
begin
end;
TForml — ΡΡΠΎ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ButtonlClick. ΠΠΌΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Buttonl ΠΈ ΡΠ°ΡΡΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΎΠ±ΡΡΠΈΡ Onclick. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠ»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ ΡΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅Π΄ΠΊΠΎ, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΡ ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ°ΡΡ Π½Π° Π½Π΅Π³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΈΡΡΠ°, Π² ΡΠ΅Π»ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π²ΡΡΠ°Π²ΠΈΠΌ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΡΠΊΡ ΠΊΠΎΠ΄Π°:
Labell.Font.Size := Labell.Font.Size*2;
ΠΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΌΠ΅ΡΠΊΠΈ Π±ΡΠ΄ΡΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ Π² Π΄Π²Π° ΡΠ°Π·Π°. ΠΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΠ³Π»Π° ΠΌΠ΅ΡΠΊΠΈ ΠΎΡΡΠ°Π½Π΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌ. ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡ Π±ΡΠ΄Π΅Ρ ΡΡ ΠΎΠ΄ΠΈΡΡ Π·Π° ΠΏΡΠ°Π²ΡΡ Π³ΡΠ°Π½ΠΈΡΡ Π€ΠΎΡΠΌΡ. ΠΡΠΈ ΡΡΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΡΠ²ΡΡΡΡ ΠΏΠΎΠ»ΠΎΡΡ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ.
ΠΠ³ΡΠ°Π½ΠΈΡΠΈΠΌ ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ (Π° Π·Π°ΠΎΠ΄Π½ΠΎ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ) ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΈΡΡΠ°. Π ΡΠ°Π·Π΄Π΅Π» implementation Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄Π²Π΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ:
const MaxSize = 96;
MinSize = 6;
Π ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ TForml. ButtonlClick ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ:
if Labell.Font.Size*2 <= MaxSize then Labell.Font.Size := Labell.Font.Size*2;
Π§ΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΈΡΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠ΅ΡΠΈΠΊΡ Labell. Font, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ with:
with Labell. Font do
begin
if Size * 2 <= MaxSize then Size := Size * 2;
end;
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΈ Π΄Π»Ρ Π²ΡΠΎΡΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΠ°ΠΏΡΡΡΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΡΠ±Π΅Π΄ΠΈΠΌΡΡ, ΡΡΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΡΠΈΡΡΠ° ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, Ρ. Π΅. ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΈΡΡΠ° Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, —Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ Π½ΠΈ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌ. ΠΠΎ ΡΠΎΠ³Π΄Π° Π½Π΅ Π½Π°Π΄ΠΎ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ. ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π² ΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π΅Π΅ «Π²ΡΠΊΠ»ΡΡΠΈΡΡ».
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ Enabled ΡΠ°Π²Π½ΡΠΌ False ΠΏΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ ΠΏΡΠΎΠ³Π½ΠΎΠ·Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π°Π΄ΠΏΠΈΡΠΈ «Π½Π° ΡΠ°Π³ Π²ΠΏΠ΅ΡΠ΅Π΄»:
with Labell. Font do begin
if Size * 2 < = MaxSize then Size := Size * 2; if Size * 2 > MaxSize then Buttonl. Enabled := False;
end;
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Buttonl. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Buttonl. Enabled := True.
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠ΅ΡΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Buttonl Π²ΡΠΊΠ»ΡΡΠ΅Π½Π°, ΡΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Button2, ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. ΠΠΎΡΡΠΎΠΌΡ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ TForml. Button2Click Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ°: Buttonl. Enabled := True;
Π’Π΅ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
implementation
const
MaxSize = 96;
MinSize = 6;
{$R *.dfm}.
procedure TForml. ButtonlClick (Sender: TObject); begin
if Labell.Font.Size * 2 <= MaxSize then Labell.Font.Size := Labell.Font.Size * 2; if Labell.Font.Size * 2 > MaxSize then Buttonl. Enabled := False;
Button2.Enabled := True; end;
procedure TForml. Button2Click (Sender: TObject); begin
if Labell.Font.Size div 2 >= MinSize then Labell.Font.Size := Labell.Font.Size div 2; if Labell.Font.Size div 2 < MinSize then Button2. Enabled := False;
Buttonl.Enabled := True; end;
end.