Announcement

Collapse
No announcement yet.

Probleme mit Form bei geänderten Desktopeinstellungen

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

  • Probleme mit Form bei geänderten Desktopeinstellungen

    Hallo,

    ich hab das Problem das sich Formulare in meiner Delphi 6 Anwendung nicht an die Desktopeinstellungen anpassen. Werden die Einstellungen manuell umkonfiguriert (Größere Schriftarten) so werden die Elemente in meiner Form natürlich breiter. Das Problem liegt darin das der Rand des Formulars das aber nicht mitmacht. So muss der Rand immer manuell gezogen werden um an die Elemente zu gelangen.

    Der Formular Aufbau:
    Sie sind 2 geteilt. Unten befindet sich ein DBGrid ( Algin: Bottom) oben ein Panel (Algin: Top) mit Schaltern und Eingabemasken. Der BorderStyle der Form ist bsSizeable.

    Meine Bisherigen Versuche:
    Habe schon viel probiert. Sprich Aligment, Anchors und Pitch in Fonts auf fpFixed. Bisher keine merklichen Erfolge.
    Kann mir bitte jemand helfen. Ich glaube das Problem hatte sicher schon mal jemand.

    Ingemar

  • #2
    Ich mache das immer so:<p>
    <pre class="sourcecode"><code>
    <b>Function</b> Get_Font_Groesse: Integer; <font color="#003399"><i>// Smallfont 96 und bei BigFont 120 ; Bei Win98 auch Zwischenwerte m&#246glich</i></font>
    <b>var</b> dc : hdc;
    <b>begin</b>
    dc := createDC(<font color="#9933CC">'DISPLAY'</font>,<font color="#9933CC">''</font>,<font color="#9933CC">''</font>,<b>NIL</b>);
    Result := GetDeviceCaps(dc, LOGPIXELSY);
    ReleaseDC(0,dc);
    <b>end</b>; <font color="#003399"><i>// Get_Font_Groesse: Integer;</i></font>

    </code></pre><p>
    <pre class="sourcecode"><code>
    <b>procedure</b> CheckFont(aForm: TForm);
    <b>BEGIN</b>
    <b>IF</b> Get_Font_Groesse &lt;&gt; 96
    <b>THEN</b>
    <b>BEGIN</b>
    aForm.Font.Name := <font color="#9933CC">'Arial'</font>;
    <b>END</b>;
    <b>END</b>;

    </code></pre><p>
    Diese Routine kommt in das OnCreate jedes Formulares:<p>
    <pre class="sourcecode"><code>
    <b>procedure</b> TForm1.FormCreate(Sender: TObject);
    <b>begin</b>
    CheckFont(Self);
    <b>end</b>;

    </code></pre><p>
    Zusätzlich kommt die Eigenschaft <b>Scaled</b> auf False gesetzt und es wird darauf geachtet, dass <b>ParentFont</b> immer True ist.<p>
    Schöne Grüße, Mario Noac
    Schöne Grüße, Mario

    Comment


    • #3
      Hallo Mario Noack,

      danke für die Rasche Hilfe. Hab das soeben eingebaut und siehe da es funktioniert.

      Ingema

      Comment

      Working...
      X