Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Luna und Komponentenplazierung (https://www.delphipraxis.net/16526-luna-und-komponentenplazierung.html)

ToZie 18. Feb 2004 15:48


Luna und Komponentenplazierung
 
Hallo,

kann man irgendetwas simples (verschieden von Luna-Dienst-Anhalten) gegen die von den XP-Themes hervorgerufene Verschiebung von Komponenten unternehmen ? Als Fan pixelgenau gestalteter Dialoge stören mich abgeschnittene Eingabefelder am unteren Formularrand doch etwas.

Ich hatte ja gehofft mit dem Umstieg auf D7 und der Manifest-Komponente würde sich das geben, scheint aber nicht so - oder ist das gar ein Feature ?

Danke schonmal!

Bernhard Geyer 19. Feb 2004 08:11

Re: Luna und Komponentenplazierung
 
XP-Themes und verschieben von Controls - Ist mir noch nicht untergekommen
(eher andere Effekte wie fehlerhafte Z-Order von Fenstern und Flackern).

Hab zwar auch keine Borland-VCL-Controls mehr im Einsatz, aber tritt der Effekt immer auf bzw. bei welchen Controls?
Evtl liegt es ja "nur" an der Einstellung von großen Schriftarten (Da wird bei resizable Forms zwar alle Controls angepaßt, aber die Formulargröße nicht!

ToZie 19. Feb 2004 08:45

Re: Luna und Komponentenplazierung
 
Hallo,

einfach mal ein Edit auf ein Form platzieren, Abstand nach unten 4px, Anker links und unten.

Ich illustriere das mal,

http://www.ziesmer.de/lunaprob.jpg

Setzt man die Anker links und oben bekommt das Form unter Luna eine Scrollbar.

neolithos 19. Feb 2004 09:24

Re: Luna und Komponentenplazierung
 
Setzt mal lieber die größe des Formulars über ClientWidth und ClientHeight.

oder

Schau mal was passiert wenn du ein Manifest hinzufügst!
>uses XPMan richt dafür völlig aus

Das verschieben liegt übrigens an den häßlichen Fetten rand, den ich nicht brauche!

ToZie 19. Feb 2004 10:31

Re: Luna und Komponentenplazierung
 
Hallo,

ändern der Clientgröße bringt nichts, da die Componenten unten verankert sind. Man müsste also im OnCreate des Formulars:

1. Feststellen ob es Handlungsbedarf gibt
ClientHeight entspricht nicht den Erwartungen ?
2. Sich die Anker aller sichtbarer Komponenten merken
3. Die Anker auf [akLeft, akTop] ändern
4. Die Größe des Formulars korrigieren
5. Die Anker wieder herstellen

Kann man dafür eine Komponente entwickeln ? Was passiert mit Controls die wiederum Controls enthalten wie PageControl...

Bzw. was spricht dagegen den BorderStyle im OnCreate Ereignis des Formulars zu ändern, bei Formularen mit BorderStyle bsDialog tritt das Problem eigenartigerweise nicht auf. Ich kann mich allerdings erinnern unter D6 dann Probleme mit Splittern bekommen zu haben...

neolithos 19. Feb 2004 10:36

Re: Luna und Komponentenplazierung
 
Zwei andere Möglichkeiten:

Entweder in Resize selber positionieren.

oder

Mit CustomAlign Arbeiten.

Zitat:

Zitat von ToZie
Was passiert mit Controls die wiederum Controls enthalten wie PageControl...

Nix, da du kein Manifest hast.

ToZie 19. Feb 2004 10:47

Re: Luna und Komponentenplazierung
 
Hallo

Zitat:

Zitat von neolithos
Zitat:

Zitat von ToZie
Was passiert mit Controls die wiederum Controls enthalten wie PageControl...

Nix, da du kein Manifest hast.

Was hat das miteinander zu tun? Ob mit Manifest oder ohne ändert an dem Problem rein gar nix, nur am aussehen der Controls...

Zitat:

Zitat von neolithos
Entweder in Resize selber positionieren.

Das geht nicht, da ich dabei ja offensichtlich die Größe des Formulars ändern muss. Ich strebe auch eher eine allgemeingültige Lösung an als an jedem Formular herumzuflicken...

neolithos 19. Feb 2004 11:21

Re: Luna und Komponentenplazierung
 
Zitat:

Zitat von ToZie
Was hat das miteinander zu tun?

Da du kein Manifest hast ändert sich nur der Clientbereich des Formulars nicht, der der PageControls oder Panels.

Phoenix 19. Feb 2004 12:46

Re: Luna und Komponentenplazierung
 
Zitat:

Zitat von neolithos
Das verschieben liegt übrigens an den häßlichen Fetten rand, den ich nicht brauche!

Dann stelle den Rand doch kleiner :)

Du kannst doch die Höhe der Titelleiste von den neuen 25px auf 20px zurückstellen.

neolithos 19. Feb 2004 13:03

Re: Luna und Komponentenplazierung
 
Zitat:

Zitat von Phoenix
Dann stelle den Rand doch kleiner :)

Das löst leider sein Problem nicht!

>>> Ich persönlich habe klassich! <<<

ToZie 19. Feb 2004 13:14

Re: Luna und Komponentenplazierung
 
Zitat:

Zitat von Phoenix
Zitat:

Zitat von neolithos
Das verschieben liegt übrigens an den häßlichen Fetten rand, den ich nicht brauche!

Dann stelle den Rand doch kleiner :)

Du kannst doch die Höhe der Titelleiste von den neuen 25px auf 20px zurückstellen.

Sieht man die fette Titelleiste des Formular's in der IDE unter XP? (Entschuldige die blöde Frage, aber ich benutze als Programmierumgebung Windows 2000. Zum testen hab' ich ein kleines XP in einer VM.)

Dann müsste ja im Gegenzug bei so entworfenen Formularen ohne Luna der untere Rand größer sein - das wäre eher zu ertragen...

neolithos 19. Feb 2004 13:34

Re: Luna und Komponentenplazierung
 
http://people.freenet.de/neolithos/Download/a/Bild3.gif
http://people.freenet.de/neolithos/Download/a/Bild1.gif
http://people.freenet.de/neolithos/Download/a/Bild2.gif

Immer exakt 2 Pixel bei mir!
Anchors Left, Bottom

ToZie 19. Feb 2004 13:49

Re: Luna und Komponentenplazierung
 
Was mache ich also falsch ? Oder liegt es daran dass ich das Programm unter W2k übersetze ? Jedenfalls scheint bei Dir der Clientbereich gleich zu bleiben, das tut er bei mir nicht.

neolithos 19. Feb 2004 14:19

Re: Luna und Komponentenplazierung
 
Kann es vielleicht am Emu-liegen!

Weil wenn ich Programme an meinem Firmenrechner (W2k) kompiliere gibt es das Problem auch nicht!

Teste es mal an einem richtigen XP!


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz