Solved

Graphics/Palettes

Posted on 1997-05-23
4
191 Views
Last Modified: 2010-04-04
Hi, I have a very specifik question.

I use Delphi2.0 and Win95.
I have a PageControl with some TabSheets on. On one of the TabSheets I have some free space. I would like to draw some lines in this free space in different colors. Afterwards I would like to be able to change the RGB-values of the colors used, resulting in the lines changing color.

My question is:
How do I easist draw the lines on the TabSheet in colors that I specify the RGB-values of (not an approximation) and how do I make myself able to afterwards change the RGB-values of these colors in order to make the lines change color????

Thanx - Steff

P.S: This question might belong in the MS-WINDOWS section, since the solution surely involves calls to misc Windows API functions/procedures.
0
Comment
Question by:steff
  • 2
4 Comments
 

Expert Comment

by:W. Yang
ID: 1336557
It will be easier if you create a TLine object.liketypeTline = class(TObject)X1, X2, Y1, Y2 : Integer;Color: TColor;end;and you declare a array of Tline objects.var Lines: array[1..10] of TLinethen when you need to change the color or paint on the tabsheet just do a painting loop.for i := 1 to 10 dowith Lines[i] dobegin
Canvas.Line(X1, Y1, X2, Y2);Canvas.Pen.Color := Color;end;
Best Regards
0
 

Author Comment

by:steff
ID: 1336558
First of all - there are no answer of how to make colors available for my drawing on the TTabSheet. I should be able to set the RGB-value colors available to me.
Second - there are no answer of how to draw on the TTabSheet - as far as I know TTabSheet has no TCanvas directly connected. Correct me if I am wrong.
Last - and most important. I would have alot of lines and the colors should change in a running kind of way (not only once and the wait some time before doing it again). I am sure that I will have to go to palette-level.

Steff
0
 
LVL 3

Accepted Solution

by:
mheacock earned 100 total points
ID: 1336559
There is no accessible palette on the TTabSheet.

You'll find it easiest to fill in your empty space with a
TImage componentand draw your lines on it.

To animate the colours, you'll have to use a technique called
palette animation...what you do is locate the palette entry
that corresponds to one of your coloured lines and change that
value...your line will then change automatically.  This will
only work in paletted colour modes (i.e. 256 colours), it
will not work in 16/24/32 bit colour modes.

I have a Delphi palette animation example around here.  It is
something I found on the net last year...you could probably
find the same.  If you want me to send it to you, just post
your e-mail address here.
0
 

Author Comment

by:steff
ID: 1336560
I would like you to send me the palette animation example. send it to the addx:  

u960617@daimi.aau.dk

Thanx - Steff
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Need Delphi function to get Youtube video title 5 225
Working with hours 3 46
SUM 2 INTEGER ARRAYS INTO 1 10 93
how to change, disabled button color FMX ? 1 14
A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
Migrating to Microsoft Office 365 is becoming increasingly popular for organizations both large and small. If you have made the leap to Microsoft’s cloud platform, you know that you will need to create a corporate email signature for your Office 365…

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now