feste Fenstergröße

Antworten
sud
Beiträge: 7
Registriert: Do 22. Okt 2009, 19:30

feste Fenstergröße

Beitrag von sud »

Hallo,

ich bin (noch) neu hier im Forum, daher bei Fehlern bitte nicht gleich die Todesstrafe! :wink:
Aber jetzt zu meinem Problem:
Wenn ich unter einem Linux-System mit einer bestimmten Bildschrimauflösung x meine GTK2-Anwendung designe, sieht alle prima aus(sprich: z.B. die Beschriftungen passen alle in die Buttons hinein). Wenn ich die kompillierte Anwendung dann unter meinem Laptop oder einem anderen System mit einer anderen Bildschirmauflösung y starte, sind teilweise die Fenster zu klein und die Beschriftung der Buttons paßt dann nicht mehr. Ich verwende kein Autosize. Daher meine Frage: Gibt es irgendeine Möglichkeit Lazarus zu sagen, mein Fenster hat jetzt diese Größe und die soll es egal auf welchem System in jedem Fall beibehalten?

Gruß
sud

PS: Wenn mein Thema im falschen Unterforum gelandet sein sollte, bitte ienfach korrigieren...

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: feste Fenstergröße

Beitrag von monta »

Willkommen im Forum.

Ich glaube, dein Problem ist nicht die Fenstergröße, sondern die unterschiedliche Auflösung bzw. die unterschiedlichen Schriftarten, welche als Standard gesetzt sind. Da kannst du, außer etwas Luft einzubauen, nicht wirklich viel machen.

Die Formulare haben beim Start auch auf einem anderen Rechner exakt die selbe Abmessung in Pixel, wie du sie erstellt hast. Nur die Schrift ist halt ggf. anders, was das Problem hervorrufen dürfte.
Aber um die Frage zu beantworten bzw. wenn du zusätzlich dem Nutzer verbieten willst, das Formular zu vergrößern/kleinern, kannst du BorderStyle der Form auf bsSingle setzen. Anschließend sollte es (hoffe das geht unter GTK2 auch) nichtmehr möglich sein, das Formular in der größe mit der Maus anzupassen.
Johannes

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: feste Fenstergröße

Beitrag von Hitman »

Also ein bisschen kann man dem ganzen entgegen wirken, indem man überall für die Font eine feste Größe setzt. Dann variiert die Breite zumindest nicht mehr all zu krass.

Bei GTK2 scheint der Borderstyle allein übrigens nicht zu helfen - wenn man jedoch auch noch die Constraints (Min = Max = Width/Height) setzt, ist auch GTK2 nachgiebig.

sud
Beiträge: 7
Registriert: Do 22. Okt 2009, 19:30

Re: feste Fenstergröße

Beitrag von sud »

Hallo,

zunächst einmal Danke für die prompte Hilfe! :D

Also wenn ich richtig verstanden habe, liegt mein Problem nicht bei Lazarus, sondern bei den "bösen" Schriftarten... D.h. ich müßte als sicherste Lösung mir im Prinzip eine Schriftart aussuchen und dann meine Nutzer "zwingen" diese vor der Nutzung meines Programmes zu installieren. So ungefähr richtig verstanden? :wink:

Übrignes Danke auch für die Hinweise bezüglich der änderbaren Formulargröße... :)

Gruß

sud

Scotty
Beiträge: 768
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: feste Fenstergröße

Beitrag von Scotty »

Wenn du Arial definierst, wird das sicher überall funktionieren (ansonsten wird für default der Systemstandard benutzt). Welcher Benutzer will aber schon ein Hauptmenü in Arial oder Courier? Und auch bei der Schriftgröße möchte ich in meinem Human-Theme unter Linux nicht den Windowsstandard sehen. Es bleibt einzig, die GUI entsprechend zu gestalten. Wobei auch das Grenzen hat, z.B. Schriftart "extra groß".

sud
Beiträge: 7
Registriert: Do 22. Okt 2009, 19:30

Re: feste Fenstergröße

Beitrag von sud »

Hallo,

danke für die Antworten. Ich habe das Problem zunäscht einmal gelöst, in dem ich festgestellt habe, daß auf allen Computern, auf denen meine Software später installiert wird, wohl die richtige Schriftwart installiert ist und so kein Problem besteht. Daher danke für eure Hilfe, ich hätte sonst nämlich versucht in Lazarus eine feste Fenstergröße einzustellen, obwohl daß ja überhaupt nich mein Problem war. wie ich zuerst dachte... :D

Gruß

sud

_X_
Beiträge: 250
Registriert: Di 16. Dez 2008, 20:13
OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
CPU-Target: 32/64Bit

Re: feste Fenstergröße

Beitrag von _X_ »

Feste Fenstergröße:

Code: Alles auswählen

TForm.Constraints.MaxHeight := TForm.Height;
TForm.Constraints.MinHeight := TForm.Constraints.MaxHeight;
TForm.Constraints.MaxWidth  := TForm.Width;
TForm.Constraints.MinWidth  := TForm.Constraints.MaxWidth;
mfg _X_

Antworten