Canvas Resizing question.

Dear Experts,

I want to make a Telnet-program. So I  have made an example that draws on the
canvas of the form, I have devided the canvas in 80 columns and 25 rows, and I
have draw a cursor on it. I have made a mainmenu-item that when you click on it
it will fill all cells with characters and numbers, I use this menu-item for testing.

My problem is the Resizing, I want to resize the form and when I do that the
FontWidth and FontHeight have to adjust automaticly. For example if I resize
the form to the half of the screen the font still have to be readable.

I really need your help, because I can't solve this on my own. This is the
only problem I have to finish my application. Who can help me?

I have put the example on my site: http://members.home.nl/peterkiers/
Beneath the Under Construction bar you see a floppy-disk, Click on it to
download the example.

Thank you in advanced.

Greetings,

Peter Kiers



LVL 1
peterkiersAsked:
Who is Participating?
 
Tomas Helgi JohannssonConnect With a Mentor Commented:
It's called double buffering.
Here is an similar example with bitmaps:
http://delphi.about.com/library/bluc/text/uc092700b.htm

Regards,
   Tomas Helgi
0
 
Tomas Helgi JohannssonCommented:
    Hi!
Try this
Canvas.Font.Size := round(FCellHeight* 0.65);

Regards,
  Tomas Helgi
0
 
peterkiersAuthor Commented:
I have found something else and it works for me.

procedure TMainForm.Resize;
begin
  FontWidthPix :=ClientWidth  div (SCRCOLS);
  FontHeightPix:=(ClientHeight-2) div (SCRROWS+1);
end;

But their is still a change to earn the 500 points.
When I use the code above in my example, I does
just what I want, only the canvas keeps on flickering!
What can I do about that?

Peter Kiers
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
Tomas Helgi JohannssonCommented:
One solution is to have a Canvas in the background and draw on that canvas and then after finishing the drawing switch to that canvas.

Regards,
   Tomas Helgi
0
 
peterkiersAuthor Commented:
Oke, and how can I do that?

Peter
0
 
peterkiersAuthor Commented:
Thanks.

Peter Kiers

500 p. comming your way.
0
 
Tomas Helgi JohannssonCommented:
:)
0
All Courses

From novice to tech pro — start learning today.