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

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

Мақсаты:

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

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

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

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

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