TPen::Color



Color determina a cor usada para desenhar linhas na tela.


__property TColor Color = {read=GetColor, write=SetColor, default=0};

Você pode usar Color para mudar a cor usada para desenhar linhas ou figuras. O jeito que Color é usado depende das propriedades Mode e Style.


O exemplo a seguir desenha uma infinidade de elipses de vários estilos, cores e tamanhos (pen e brush) no form para preencher inteiramente a tela. Para executar o código, coloque um componente TTimer no form e use o Object Inspector para criar os eventos handlers OnTimer e OnActivate.



//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include <stdlib.h> // para random() e randomize(): valores aleatórios

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

int x, y;

TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormActivate(TObject *Sender)
{
WindowState = wsMaximized; // janela maximizada
Timer1->Interval = 50; // intervalo de tempo para Timer
randomize();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
 // inicializa variáveis com valores aleatórios
 x = random(Screen->Width - 10);
 y = random(Screen->Height - 10);

 // Cor aleatória para pen
 Canvas->Pen->Color = (Graphics::TColor) random(65535);

 // comando de decisão
 switch (random(5))
 {
   case 0: Canvas->Pen->Style = psSolid; // estilo da linha
           Canvas->Brush->Color = clLime;  break; // cor da figura: clLime

   case 1: Canvas->Pen->Style = psDash;
           Canvas->Brush->Color = random(65535); break; // cor aleatória

   case 2: Canvas->Pen->Style = psDot;
           Canvas->Brush->Color = random(65535); break;

   case 3: Canvas->Pen->Style = psDashDot;
           Canvas->Brush->Color = random(65535); break;

   case 4: Canvas->Pen->Style = psDashDotDot;
           Canvas->Brush->Color = clAqua;  break;
 }
 // desenha elípses com tamanhos diversos escolhidos aleatoriamente
 Canvas->Ellipse(x, y, x + random(400), y + random(400));
}
//---------------------------------------------------------------------------


anterior

índice

próxima


HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO