AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Verändern d. Grösse von Lists, DBGrid, Edit Fields v. User
Thema durchsuchen
Ansicht
Themen-Optionen

Verändern d. Grösse von Lists, DBGrid, Edit Fields v. User

Ein Thema von raena · begonnen am 30. Apr 2008 · letzter Beitrag vom 4. Jun 2008
Antwort Antwort
Seite 1 von 2  1 2      
raena

Registriert seit: 30. Dez 2007
124 Beiträge
 
#1

Verändern d. Grösse von Lists, DBGrid, Edit Fields v. User

  Alt 30. Apr 2008, 12:02
Hallo,

ich denke ich habe eine einfach Frage, komme aber alleine nicht dahinter:

ich habe ein Form auf dem wie immer nicht genug Platz für alles ist.
Wie kann ich dem Benutzer die Möglichkeit geben, die Grösse des DBGrids, der Listen
und des Editfelds selbstständig zu ändern? Die Elemente können auch ruhig überlappen.
Ich möchte nicht alle Elemente in eigene Forms verschieben sondern alles in einem Form haben.

Gibt es da eine simple Möglichkeit?

Danke
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Verändern d. Grösse von Lists, DBGrid, Edit Fields v. Us

  Alt 30. Apr 2008, 12:13
Da gibt es zwei Möglichkeiten:

1) Du setzt bei den Steuerelemente während des Entwickelns die Attribute Align und Anchor so, dass sich die Steuerelemente von selber vergrößern / verkleinern, wenn die Fenstergröße geändert wird.

2) Du gibst deiner Anwendung einen Editor mit, mit dem der Benutzer zur Laufzeit des Programms das Fenster frei gestalten kann.

Wenn es nur darum geht, dass das Fenster "zu klein" ist würde ich die erste Möglichkeit wählen. So behälst du als Programmierer die Kontrolle darüber, was wie aussieht.

Am Besten spielst du mit den Werten einfach mal ein bisschen rum, ist recht intuitiv. Anchor sorgt dafür, dass der Abstand zu einer Kante immer gleich bleibt. Standardmäßig sind left und top aktiv, d.h. das Element hat immer den gleichen Abstand nach links und oben. Wenn du jetzt beispielsweise auch right setzt und das Fenster verbreiterst bleibt auch der Abstand nach rechts konstant -> das Element wird breiter.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: Verändern d. Grösse von Lists, DBGrid, Edit Fields v. Us

  Alt 30. Apr 2008, 12:29
Ja, eine einfache Möglichkeit ist es das TSplitter Control zu verwenden.
Man muss dabei aber beachten, dass das Property Align der Controls richtig zu setzen.
kleines Kochbuch:
* leeres Formular, Groupbox oder Panel bereithalten
* Panel drauf: Align = alTop
* Splitter drauf: Align = alTop, Color = alBlue (damit der Benutzer den Splitter auch sieht), Height = 4 (damit die Grobmotoriger keine Probleme haben)
* Irgend ein Grid, Treeview, Panel oder ähnliches darauf: Align = alClient

Das Prinzip ist immer so, das Control A entweder alLeft, alTop oder alBotton ist, der Splitter ebenso und Control B muss dann alClient sein.
Andreas
  Mit Zitat antworten Zitat
raena

Registriert seit: 30. Dez 2007
124 Beiträge
 
#4

Re: Verändern d. Grösse von Lists, DBGrid, Edit Fields v. Us

  Alt 30. Apr 2008, 13:21
Hallo mquadrat,

danke für die ausführliche Antwort. Ich denke es triff aber nicht das was ich suche.
Ich brauche eine Mögliche, die Grösse der Elemente vom Bediener ändern zu lassen.
Es geht darum, dass der Bediener sich das Element, das im jeweiligen Moment für ihn
am wichtigsten ist, gross ziehen kann und ggf. auch andere Elemente damit verdeckt.
Deine Methode ändert die Grössen in Abhängigkeit der Fenstergrösse.

Raena.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: Verändern d. Grösse von Lists, DBGrid, Edit Fields v. Us

  Alt 30. Apr 2008, 13:55
Zitat von raena:
Ich denke es triff aber nicht das was ich suche.
Ich brauche eine Mögliche, die Grösse der Elemente vom Bediener ändern zu lassen.
Es geht darum, dass der Bediener sich das Element, das im jeweiligen Moment für ihn
am wichtigsten ist, gross ziehen kann und ggf. auch andere Elemente damit verdeckt.
Deine Methode ändert die Grössen in Abhängigkeit der Fenstergrösse.
Das halte ich für normale User für ziemlichen Unsinn und nicht passend zum Windows Standard.
Für stark sehbehinderte Menschen könnte dies zwar sinnvoll sein, aber dann musst du das vorher sagen !!!
Ausserdem gibt es da ja die Bildschirmlupe.
Andreas
  Mit Zitat antworten Zitat
raena

Registriert seit: 30. Dez 2007
124 Beiträge
 
#6

Re: Verändern d. Grösse von Lists, DBGrid, Edit Fields v. Us

  Alt 30. Apr 2008, 14:12
Zitat von shmia:
Zitat von raena:
Ich denke es triff aber nicht das was ich suche.
Ich brauche eine Mögliche, die Grösse der Elemente vom Bediener ändern zu lassen.
Es geht darum, dass der Bediener sich das Element, das im jeweiligen Moment für ihn
am wichtigsten ist, gross ziehen kann und ggf. auch andere Elemente damit verdeckt.
Deine Methode ändert die Grössen in Abhängigkeit der Fenstergrösse.
Das halte ich für normale User für ziemlichen Unsinn und nicht passend zum Windows Standard.
Für stark sehbehinderte Menschen könnte dies zwar sinnvoll sein, aber dann musst du das vorher sagen !!!
Ausserdem gibt es da ja die Bildschirmlupe.
also jetzt verstehe ich grad gar nix mehr. hier wird von bildschirmlupen gesprochen
sorry - soll das ein witz sein?
Schau dir mal die Delphi Entwicklungsumgebung an (siehe Anhang). Hier arbeitet man auch nicht mit Lupen
und der User kann sich auch das Fenster, das in zZt. am meisten interessiert, grösser ziehen


Miniaturansicht angehängter Grafiken
clipboard-1_133.jpg  
  Mit Zitat antworten Zitat
raena

Registriert seit: 30. Dez 2007
124 Beiträge
 
#7

Re: Verändern d. Grösse von Lists, DBGrid, Edit Fields v. Us

  Alt 30. Apr 2008, 14:29
Zitat von shmia:
Ja, eine einfache Möglichkeit ist es das TSplitter Control zu verwenden.
Man muss dabei aber beachten, dass das Property Align der Controls richtig zu setzen.
kleines Kochbuch:
* leeres Formular, Groupbox oder Panel bereithalten
* Panel drauf: Align = alTop
* Splitter drauf: Align = alTop, Color = alBlue (damit der Benutzer den Splitter auch sieht), Height = 4 (damit die Grobmotoriger keine Probleme haben)
* Irgend ein Grid, Treeview, Panel oder ähnliches darauf: Align = alClient

Das Prinzip ist immer so, das Control A entweder alLeft, alTop oder alBotton ist, der Splitter ebenso und Control B muss dann alClient sein.

Hi Shima,

ich habe nur das Problem, dass der Mousezeiger sich zwar ändert wenn man an die Kante vom Panel kommt,
sich das Panel in der Gösse aber nicht ändern lässt. Weisst Du warum?
Miniaturansicht angehängter Grafiken
clipboard-1_109.jpg  
  Mit Zitat antworten Zitat
raena

Registriert seit: 30. Dez 2007
124 Beiträge
 
#8

Re: Verändern d. Grösse von Lists, DBGrid, Edit Fields v. Us

  Alt 30. Apr 2008, 14:49
schaut man sich die Borland Hilfe an, sieht man wie es ausssehen kann.
Hier kann der User auch die Grösse ändern. (siehe Anhang).
Aber vielleicht weiss ja auch niemand wie das geht.
Miniaturansicht angehängter Grafiken
clipboard-1_147.jpg  
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

Re: Verändern d. Grösse von Lists, DBGrid, Edit Fields v. Us

  Alt 30. Apr 2008, 15:05
Zitat von raena:
Es geht darum, dass der Bediener sich das Element, das im jeweiligen Moment für ihn
am wichtigsten ist, gross ziehen kann.
Ich habe dich so verstanden, dass du die Controls skalieren möchtest.
Also z.B. ein Editfeld anklicken, grösser ziehen und dabei wird auch die Schriftgrösse angepasst.
(quasi für "Blinde")
Aber das war wohl ein Mißverständnis; du willst eigentlich nur TSplitter verwenden.
siehe Demo im Anhang
Angehängte Dateien
Dateityp: zip splitterdemo_214.zip (1,9 KB, 21x aufgerufen)
Andreas
  Mit Zitat antworten Zitat
raena

Registriert seit: 30. Dez 2007
124 Beiträge
 
#10

Re: Verändern d. Grösse von Lists, DBGrid, Edit Fields v. Us

  Alt 30. Apr 2008, 17:37
Zitat von shmia:
Zitat von raena:
Es geht darum, dass der Bediener sich das Element, das im jeweiligen Moment für ihn
am wichtigsten ist, gross ziehen kann.
Ich habe dich so verstanden, dass du die Controls skalieren möchtest.
Also z.B. ein Editfeld anklicken, grösser ziehen und dabei wird auch die Schriftgrösse angepasst.
(quasi für "Blinde")
Aber das war wohl ein Mißverständnis; du willst eigentlich nur TSplitter verwenden.
siehe Demo im Anhang
Hi Shima,

yes thats it. Vielen Dank. Das ist genau das was ich gesucht habe. Mit dem tollen Beispiel kommt man sehr gut weiter. Ich muss mich entschuldigen. Ich denke meine Formulierung des Problems war nicht ganz
klar.

Vielen Dank.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:57 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