Solved

Canvas Resizing question.

Posted on 2007-03-25
7
312 Views
Last Modified: 2010-08-05
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



0
Comment
Question by:peterkiers
  • 4
  • 3
7 Comments
 
LVL 25

Expert Comment

by:Tomas Helgi Johannsson
ID: 18791787
    Hi!
Try this
Canvas.Font.Size := round(FCellHeight* 0.65);

Regards,
  Tomas Helgi
0
 
LVL 1

Author Comment

by:peterkiers
ID: 18793086
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
 
LVL 25

Expert Comment

by:Tomas Helgi Johannsson
ID: 18793251
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
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.

 
LVL 1

Author Comment

by:peterkiers
ID: 18793299
Oke, and how can I do that?

Peter
0
 
LVL 25

Accepted Solution

by:
Tomas Helgi Johannsson earned 500 total points
ID: 18793485
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
 
LVL 1

Author Comment

by:peterkiers
ID: 18793609
Thanks.

Peter Kiers

500 p. comming your way.
0
 
LVL 25

Expert Comment

by:Tomas Helgi Johannsson
ID: 18793639
:)
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
Virtuailstring tree add node to another virtuailstring tree list 4 106
LAN or WAN ? 11 83
Convert a string into a TDateTime 5 52
TEMBEDDEDWB how can i change its user agent ? 8 50
This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
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…
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…

863 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