I disagree with the below advice:
In addition to using "scale by" (and reading the manual on screen
resolution), you should set your monitor to the lowest screen res (not highest)
that is reasonable for the # of controls on the form. Higher resolutions are
guarranteed to fit the controls, then scaling the whole form up for reasonable
font size becomes the problem.
Design at a minimized size (maximize sets it to screen length/width so no
need to do that) that's again, reasonble for the # of controls. Complicated
apps like Quicken open in maximized mode, so your app. could do something like
that if that's the optimal look. The user can then minimize for interapp work
or whatever speciallized need calls for that.
Dave
Emmanuel Lamy <[EMAIL PROTECTED]> wrote:
> I'm proposing that if I don't want the user to deal with
> scroll bars, I have to choose a form size that's identical or smaller
> to the screen resolution the user will have his display set to.
Not that fuzzy! I have dealt with the same concern a while ago. One way
to approach the problem is to set your developing machine to its
highest supported resolution and then visually design your forms and
components. Note the postions and sizes of all forms and components,
and in the OnCreate event of esch form, redefine the sizes and
positions of the forms and controls on the forms, using the relative
sizes and positions at design, in proportion with your screen height
and width.
You may want want your MainForm.Width to equal Screen.Width, and
MainForm.Height to equal Screen.WorkAreaHeight, or whatever your design
width and height multiplied by Screen.Width or Screen.Height divided by
your machine screen settings of width or height:
procedure TMainform.FormCreate(Sender: TObject);
begin
Height := Screen.WorkAreaHeight;
// or Height := round((737 * 768)/Screen.Height);
Width := Screen.Width;
// or Width := round((985 * 1024)/screen.width);
Top := 0; // or round((design top*768)/screen.Height);
Left:= 0; // or round((design left*1024)/screen.width);
end;
In this illustration I would show a full screen version of my MainForm
in any screen resolution, or would keep the same visual presentation of
my my MainForm at design time, proportionnally to my screen resolution.
The second alternative assumes a 1024 X 768 screen settings, on the
developing machine.
Let's say a TPanel dropped on your MainForm is 36 left, 30 top, and
210 height, and 907 width. If you want to keep the same aspect ratio of
your control at runtime in all screen resolution, you redefine the size
and position of the Panel in your TMainForm.FormCreate procedure:
....
with Panel1 do
begin
Left := round((36 * 1024)/Screen.Width);
Top := round((30 * 768)/Screen.Height);
Width := round((907 * 1024)/Screen.Width);
Height := round((210 * 768)/Screen.Height);
end;
HTH
Emmanuel
---------------------------------
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail.
[Non-text portions of this message have been removed]
---------------------------------
Yahoo! Messenger with Voice. Make PC-to-Phone Calls to the US (and 30+
countries) for 2ยข/min or less.
[Non-text portions of this message have been removed]
-----------------------------------------------------
Home page: http://groups.yahoo.com/group/delphi-en/
To unsubscribe: [EMAIL PROTECTED]
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/delphi-en/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/delphi-en/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/