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/
 



Reply via email to