Solved

Graphics/Palettes

Posted on 1997-05-23
4
190 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

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Suggested Solutions

Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

760 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

18 Experts available now in Live!

Get 1:1 Help Now