RGB ФОРМАТЫНДАҒЫ ТҮСТЕР жобасы
RGB ФОРМАТЫНДАҒЫ ТҮСТЕР жобасы
Мақсаты:
ScrollBar, Panel компоненттерімен таныстыру. Түс құраушыларының мәндердің ауыстыру үшін TColorRef функциясын қолдану.
Программаны құру жоспары:
- Жаңа проект құрыңыз.
- Суретте көрсетілген компоненттерді формаға орналастырыңыз.
- ScrollBar айналдыру жолағы горизонтальді (үнсіз келісім бойынша) және вертикальді бола алады. Оның түрі Kind қасиетімен анықталады. Осы программада вертикальді айналдыру жолағы қолданылады.
- Программа коды және проектіні сақтаңыз: Unit3.pas и Pr3.dpr.
- Келесі әрекеттерді орындаңыз:
Объект | Object Inspector терезесінің бөлімі | Қасиеті/ Оқиғасы | Мәні/Әрекеті |
ScrollBar1 | Properties | Name | Айналдыру жолағының атын RedBar деп өзгертіңіз. |
Max | 255 – RGB градацияларының саны | ||
Position | 122 — бастапқы мәні |
Жоғарыдағы әдіспен ScrollBar2 және ScrollBar3 мәндерін орнатып, компоненттердің атын GreenBar және BlueBar деп өзгертіңіз.
- Формадағы барлық Label компоненттері үшін Caption қасиетінің мәнін ‘ ‘ деп өзгертіңіз.
- Келесі әрекеттерді орындаңыз:
Объект | Object Inspector терезесінің бөлімі | Қасиеті/ Оқиғасы | Мәні/Әрекеті |
RedBar | Events | OnChange | Panel1.Color:=TColorRef(RGB(RedBar.Position,0,0)); Label1.Caption:=IntToStr(RedBar.Position); Panel4.Color:=TColorRef(RGB(RedBar.Position, Greenbar.Position, BlueBar.Position)); |
Жоғарыдағы әдіспен ScrollBar2 және ScrollBar3 үшін OnChange оқиғасын мәнін жазыңыз, бірақ RGB и IntToStr.
Түсініктеме:
ScrollBar1 жолағы жылжығанда, Panel1 түсі өзгеріп, түстің сандық мәнін Label компоненті көрсетеді. Сонымен қатар Panel4 компонентінің түсі де өзгереді.
- Проектіні сақтап, орындаңыз.
Өздік жұмыс
№ | Тапсырма | Көмек |
1 | Программа орындалғанда панельдер бастапқы түстерге боялып тұруы керек. | Форманы құру оқиғасына (Form1 үшін OnCreate оқиғасы) ScrollBar1, ScrollBar2, ScrollBar3 компоненттерінің позициясын өндеу кодын жазыңыз. |
№4 программа коды
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Buttons;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Panel4: TPanel;
RedBar: TScrollBar;
GreenBar: TScrollBar;
BlueBar: TScrollBar;
BitBtn1: TBitBtn;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
procedure RedBarChange(Sender: TObject);
procedure GreenBarChange(Sender: TObject);
procedure BlueBarChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.RedBarChange(Sender: TObject);
begin
Panel1.Color:=RGB(RedBar.Position,0,0);
Label1.Caption:=IntToStr(RedBar.Position);
Label4.Caption:=Format(‘0x%x’,[RedBar.Position]);
Panel4.Color:=RGB(RedBar.Position,GreenBar.Position,BlueBar.Position);
end;
procedure TForm1.GreenBarChange(Sender: TObject);
begin
Panel2.Color:=RGB(0,GreenBar.Position,0);
Label2.Caption:=IntToStr(GreenBar.Position);
Label5.Caption:=Format(‘0x%x’,[GreenBar.Position]);
Panel4.Color:=RGB(RedBar.Position,GreenBar.Position,BlueBar.Position);
end;
procedure TForm1.BlueBarChange(Sender: TObject);
begin
Panel3.Color:=RGB(0,0,BlueBar.Position);
Label3.Caption:=IntToStr(BlueBar.Position);
Label6.Caption:=Format(‘0x%x’,[BlueBar.Position]);
Panel4.Color:=RGB(RedBar.Position,GreenBar.Position,BlueBar.Position);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Label4.Caption:=Format(‘0x%x’,[RedBar.Position]);
Label5.Caption:=Format(‘0x%x’,[GreenBar.Position]);
Label6.Caption:=Format(‘0x%x’,[BlueBar.Position]);
Panel1.Color:=RGB(RedBar.Position,0,0);
Label1.Caption:=IntToStr(RedBar.Position);
Panel2.Color:=RGB(0,GreenBar.Position,0);
Label2.Caption:=IntToStr(GreenBar.Position);
Panel3.Color:=RGB(0,0,BlueBar.Position);
Label3.Caption:=IntToStr(BlueBar.Position);
Panel4.Color:=RGB(RedBar.Position,GreenBar.Position,BlueBar.Position);
end;
end.