RGB ФОРМАТЫНДАҒЫ ТҮСТЕР жобасы

40

RGB ФОРМАТЫНДАҒЫ ТҮСТЕР жобасы

Мақсаты:

ScrollBar, Panel компоненттерімен таныстыру. Түс құраушыларының мәндердің ауыстыру үшін TColorRef функциясын қолдану.

Программаны құру жоспары:

  1. Жаңа проект құрыңыз.
  2. Суретте көрсетілген компоненттерді формаға орналастырыңыз.
  3. ScrollBar айналдыру жолағы горизонтальді (үнсіз келісім бойынша) және вертикальді бола алады. Оның түрі Kind қасиетімен анықталады. Осы программада вертикальді айналдыру жолағы қолданылады.
  4. Программа коды және проектіні сақтаңыз: Unit3.pas и Pr3.dpr.
  5. Келесі әрекеттерді орындаңыз:
Объект Object Inspector терезесінің бөлімі Қасиеті/ Оқиғасы Мәні/Әрекеті
ScrollBar1 Properties Name Айналдыру жолағының атын RedBar деп өзгертіңіз.
Max 255 – RGB градацияларының саны
Position 122 — бастапқы мәні

Жоғарыдағы әдіспен ScrollBar2 және ScrollBar3 мәндерін орнатып, компоненттердің атын GreenBar және BlueBar деп өзгертіңіз.

  1. Формадағы барлық Label компоненттері үшін Caption қасиетінің мәнін ‘ ‘ деп өзгертіңіз.
  2. Келесі әрекеттерді орындаңыз:
Объект 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. Проектіні сақтап, орындаңыз.

 

 

Өздік жұмыс

Тапсырма Көмек
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.