Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Bildschirmauflösung und Positionierung von Controls

  Alt 4. Sep 2020, 07:45
Da ich leider nicht im Besitz der TMS Komponenten bin beschreibe ich Dir was für Änderungen ich machen würde.

1. Ein Grundpanel mit Align = alClient, ohne Border Bevel etc.
2. Pro 2'er Abschnitt ein weiteres Panel mit Align = alTop,
um die Augen zu schonen würde ich nur den unteren Rand aktivieren (Border Bevel)
3. Den Panels die aktiven Inhalt haben je ein OnResize zuweisen oder in den sub-panels bereits
gut Aligned vorgehen und Inhalt auf alClient für automatik setzen.
(mit aktiv meine ich hierbei mehrzeiliger krams, wie diese listviews)

Das was sehende Bemängeln würden und hoffentlich mit guter Panel Nutzung nun angegangen wird:
Diese 3 ListViews, viel zu klein dimensioniert, man erkennt fast nichts.
Die Checkbox "Anmeldung erfor" ist zu schmal, der Text hört da auf wie ich es schrieb.
Ich weiß noch nicht ob das ein normales programm verhalten ist oder das im betrieb sich ändert,
"Beginnt am:" "ListBox" "LbWochenTag1", aufs letzte Label bezogen.
"Endet am:" "ListBox" "LbWochenTag3", aufs letzte Label bezogen.
"Anmeldeschluß:" "ListBox" "LbWochenTag2", aufs letzte Label bezogen.


Hier eine längere Beschreibung wie ich das mit den Panels meine:
Ein völlig transparentes Panel als Hauptpanel wie oben Beschrieben.
Ein Panel mit alTop rauf, nennen wir es "GanzOben"
in dieses ein weiters Panel mit alTop, nennen wir es "pnlTitel"
in dieses ein panel mit alLeft und Caption = "Titel:".
als weiteres element das EditFeld mit alClient mit in pnlTitel rein.
nun in "GanzOben" unter "pnlTitel" ein Panel alClient namens "pnlKategorie"
in "pnlKategorie" ein Panel mit alLeft und Caption = "Kategorien:"
als weiteres Element die ListView alClient mit rein.
Nun ist das oberste der 2'er Abschnitte fertig.
So würde ich weitermachen bis ich bei "GanzUnten" angekommen bin.
Bei allen Panels wo ich es nicht angegeben habe = die Caption leeren.
Drauf achten wie die Panel werte für Border und Bevel sind,
am schlichtesten/am meisten transparent ist es wenn man nichts davon verwendet.
Kleine akzente schaden aber nicht, also würde ich jedem AbschnittsPanel wenigstens
einen Bottom-Strich zeichnen lassen.
Also immer einen Einzeiler mit einem mehrzeiler in ein Panel quetschen

Momentant ist das Fenster resizable, wenn das ein feature sein soll würde ich dem hauptpanel ein
OnResize zuweisen und die Abschnitte per Height neu zeichnen lassen.
Anstelle OnResize kann man auch dem Anwender das Größengedöns per TSplitter überlassen.
Oder eine kombination aus beidem, delphi ist da sehr großzügig


Später kann man ja noch mit dem Gedanken spielen eine selbstspeichernde konfiguration zu benutzen
um Formular dimension und splitter positionen zu speichern/laden...

Ich hoffe ich konnte dir das feeling ein klein wenig vermitteln!
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat