Announcement

Collapse
No announcement yet.

Programm autom. an Auflösung anpassen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Programm autom. an Auflösung anpassen

    Hi,
    wie kann ich mein Programm an die jeweilige Auflösung eines Rechers
    anpassen, so das das Programm nicht erst zurecht gescrollt werden muß oder
    z.B. das Startlogo in einem Fenster fehlerhafter Größe angezeigt wird?

  • #2
    Hallo,

    wenn mit "Auflösung" das Problem Large Fonts vs. Small Fonts gemeint ist, sollte das folgende Beispiel weiterhelfen:
    <pre>
    { ************************************************** **************
    Typ : Hauptformular
    Autor : Andreas Kosch
    Compiler : Delphi 5 Enterprise
    Betriebssystem : Windows 98
    Begonnen am : 04.11.1999
    Beschreibung : Programm passt die Formulargröße automatisch so an,
    das bei Large Fonts die gleichen Abstände wie bei
    Small Fonts auftreten.
    Ohne den Aufruf von FixSize sind nur Scrollbalken zu
    sehen, da zwar die Controls im Formular automatisch
    ihre Größe ändern, der Formular-Container jedoch nicht.
    Die Formular-Eigenschaft Scaled ist TRUE.
    Test unter Windows NT 4 SP5: ok
    ************************************************** ************** }

    unit LargeFontsFrm;

    interface

    uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls, Buttons, ExtCtrls, ComCtrls;

    type
    TFormMain = class(TForm)
    StatusBar1: TStatusBar;
    Panel1: TPanel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    RadioGroup1: TRadioGroup;
    Memo1: TMemo;
    BitBtn1: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    private
    { Private-Deklarationen }
    FDoFix : Boolean;
    FDesignRes : Integer;
    procedure FixSize;
    public
    { Public-Deklarationen }
    end;

    var
    FormMain: TFormMain;

    implementation

    {$R *.DFM}

    { TFormMain }

    procedure TFormMain.FormCreate(Sender: TObject);
    begin
    FDoFix := True;
    FDesignRes := 96;
    end;

    procedure TFormMain.FormShow(Sender: TObject);
    begin
    FixSize;
    end;

    {---------------------------------------------------------------}
    { Private Methoden }
    {---------------------------------------------------------------}

    procedure TFormMain.FixSize;
    begin
    if FDoFix then
    begin
    PixelsPerInch := Screen.PixelsPerInch;
    if (PixelsPerInch <> FDesignRes) then
    begin
    Width := LongInt(Width * PixelsPerInch) div FDesignRes;
    Height := LongInt(Height * PixelsPerInch) div FDesignRes;
    end;
    FDoFix := False;
    end;
    end;

    end.
    </pre&gt

    Comment


    • #3
      Hallo,<br>
      mit der Auflösung hatte ich auch schon Probleme-bei 800x600 z.B ist das Formular riesig, bei 1024x768 winzig. Wenn das Formular (in der Breite) z.B. ein Drittel des Desktops füllen soll, muss man<b> Form.Width:=Screen.Width div 3</b> setzen.
      Tschüss,<br>
      L

      Comment


      • #4
        bin gerade auch an dem problem. versuche mal bevor du editierfelder und schalter ins formular setzt
        einen panel ins formular setzen, der sich an die größe des fensters anpaßt. und dann auf den panel
        die editierfelder, schalter usw.

        aber bei mir klappt es auch nicht so richtig!!!
        in welcher auflösung programmierst du????

        mfg

        marku
        Herzliche Grüße

        Markus Lemcke
        barrierefreies Webdesign

        Comment


        • #5
          Hi,
          ich hatte es jetzt sogar, daß ein Programm bei einem User abgeschmiert war, wenn nicht die Auflösung auf 1024x768 eingestellt ist. Ärgerlich, weil der als Standard 800x600 benutzt. Leider habe ich die Ursache noch nicht gefunden, da das Programm auf meinem Rechner läuft, auch wenn ich die Auflösung runtersetze.

          Thoma

          Comment


          • #6
            in welcher auflösung entwickelst du???????
            Herzliche Grüße

            Markus Lemcke
            barrierefreies Webdesign

            Comment


            • #7
              Ich entwickle in 1024x768.
              Ich kapiere halt nicht, wieso das Programm bei mir <b>NICHT</b> abschmiert, aber beim Anwender, der den Monitor auf 800x600 eingesteltl hat. Stellt er die Auflösung auf 1024x768, läuft die Sache

              Comment

              Working...
              X