On Wed, 15 Mar 2006 08:36:30 +0100
"Patrick Chevalley" <[EMAIL PROTECTED]> wrote:

> Hi,
> 
> 
> Even on my computer, that has a slightly bigger standard font on
> > Windows, most forms from the IDE look bad.
> 
> 
> 
> I also remark this problem with my application,  only with Windows big
> font, all the testing I do with Gtk at different screen resolution do not
> show this problem.
> 
> I solve by calling this function after form.create :
> 
> scale := Screen.PixelsPerInch / myform.PixelsPerInch
> *{$ifdef win32}*ScaleForm(myform,scale);*{$endif}*
> 
> *procedure* ScaleForm(form: TForm; scale: single);*
> var* i: integer;*
> begin*
> *if* abs(1-scale)>0.1 *then*  // *do* *not* scale *for* 10%
> *with* form *do* *begin*
>    width := round( width * scale );
>    height := round( height * scale );
>    *for* i := 0 *to* ComponentCount-1 *do* *begin*
>       *if* ( Components[i] is TControl ) *then* *with* (Components[i]
> as TControl) *do* *begin*
>          width := round( width * scale );
>          height := round( height * scale );
>          top := round( top * scale );
>          left := round( left * scale );
>       *end*;
>    *end*;
> *end*;
> *end*;
> 
> 
> Maybe this can be implemented in TCustomForm ? but this is outside of my
> competence.
> If I remember Delphi as a TForm.Scaled property that do something like
> that.

The scale only fixes resized fonts, but not other fonts, themes and
translations.
As Darius pointed out: we should improve the dialogs to use autosizing.


Mattias

_________________________________________________________________
     To unsubscribe: mail [EMAIL PROTECTED] with
                "unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to