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/)
-   -   Design eines Stringgrids (https://www.delphipraxis.net/179586-design-eines-stringgrids.html)

ster 18. Mär 2014 11:32

Design eines Stringgrids
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich brauche ein Grid mit zwei Spalten um darin Eigenschaften festzuhalten.

Mit dem AdvStringgrid kann man schon gut und einfach Comboboxen, Datumsfelder etc. definieren.

Aber gibt es im Standard irgendeine Einstellung um den Abstand zwischen den Spalten zu definieren (siehe Screenshot)?

Wenn ich anfange diese selbst zu zeichnen, dann muss ich auch wieder die Comboboxen und co. selbst zeichnen oder nicht?

Danke schonmal für die Hilfe,

Gruß
ster

hoika 18. Mär 2014 11:38

AW: Design eines Stringgrids
 
Hallo,

da fällt mir auch beim AdvGrid nichts ein.

Du könntest das aber selber machen,
in dem jede 2. Zeile halt eine geringere Höhe hat.
Es gibt auch beim normalen Grid schon ein Event, was beim Klick auf eine Zelle diese nicht markiert (OnEnter ?)
(also hier eine Zelle mit der kleinen Höhe),
fällt mit aber gerade nicht ein.


Heiko

ster 18. Mär 2014 11:49

AW: Design eines Stringgrids
 
Ich habe wohl sowas wie OnGetCellBorder gefunden. Damit kann ich wohl einen Rand zeichnen, aber die die Comboboxen liegen sich bei der Selektion auch wieder über den Rand drüber.

Popov 18. Mär 2014 17:22

AW: Design eines Stringgrids
 
Ist zwar keine Antwort auf deine eigentliche Frage, aber wenn es drum geht zwei Spalten zu haben...
Zitat:

Zitat von ster (Beitrag 1252373)
ich brauche ein Grid mit zwei Spalten um darin Eigenschaften festzuhalten.

da hat Delphi noch den ValueListEditor. Und ComboBox und Button ist auch dabei.

Furtbichler 19. Mär 2014 06:07

AW: Design eines Stringgrids
 
Aber er will eben partout diese nicht Windows-Styleguide-konformen Zwischenraum haben. :roll:

Mavarik 19. Mär 2014 07:22

AW: Design eines Stringgrids
 
Zitat:

Zitat von Furtbichler (Beitrag 1252457)
Aber er will eben partout diese nicht Windows-Styleguide-konformen Zwischenraum haben. :roll:

Es gibt einen Windows-Styleguide? :P Dachte nur Apple macht so einen quatsch...

Jumpy 19. Mär 2014 07:50

AW: Design eines Stringgrids
 
Was mich an der ganzen Frage verwirrt hat, ist dass der TE von Abstand zw. den Spalten spricht, es auf dem Bild aber um Zeilen zu gehen scheint?

ster 19. Mär 2014 11:47

AW: Design eines Stringgrids
 
ja ich meine natürlich die Zeilenabstände. Aber das sollte aufs gleiche hinaus laufen.

himitsu 19. Mär 2014 12:10

AW: Design eines Stringgrids
 
Zitat:

Zitat von Mavarik (Beitrag 1252461)
Es gibt einen Windows-Styleguide? :P Dachte nur Apple macht so einen quatsch...

Bevor jeder kleine Pups anfing seine Anwendungen zu skinnen,
war es mal eine gute idee, für ein System einen "einheitlichen" Style "vorzuschreiben".

Und ist es auch heute noch, wenn man bedenkt, daß es eigentlich eine gute Idee ist, wenn sich in einem System alles irgendwie gleich verhält und sich somit intuitiver bedienen lässt.

Hey, früher konnte man Windows noch einen eigenen Style verpassen und alle Programme sahen dann so us, wie es einem gefällt.
Vor XP richtete man sich sein eigenes Farbschema ein und ab XP konnte man auch noch die Form der Komponenten beeinflussen, durch 'nen eigenen Style.

Popov 19. Mär 2014 12:31

AW: Design eines Stringgrids
 
Im Zweifelsfall kann man sich so etwas selbst erstellen. Am Anfang mit Delphi habe ich vieles komplizierter gemacht als es nötig war. So habe ich mal übersehen, dass es StringGrid gibt und hab - im Grunde brauchte ich so etwas wie im Bild - mir das aus TEdit's (flexibel) gebastelt. Ist nicht so schwer wie es sich anhört. Um das zu steigern ersetzte ich jedes Edit (Rect-Bereich) beim Zugriff durch eine ComboBox, so dass ich eine Auswahl hatte.

Im Grunde sah das fast haargenau so aus wie das Bild von dir.

Nur für den Anfang...
Delphi-Quellcode:
var
  i, d: Integer;
  aEdit: array [0..9] of TEdit;
begin
  d := 5; //Lücke
  for i := Low(aEdit) to High(aEdit) do
  begin
    aEdit[i] := TEdit.Create(Self);
    aEdit[i].Parent := Self;
    aEdit[i].Left := 10;
    aEdit[i].Width := 300;
    aEdit[i].Top := 20 + (i * (aEdit[i].Height + d));
    //aEdit[i].OnClick := ...
  end;
end;

Furtbichler 19. Mär 2014 17:10

AW: Design eines Stringgrids
 
Zitat:

Zitat von Mavarik (Beitrag 1252461)
Es gibt einen Windows-Styleguide? :P Dachte nur Apple macht so einen quatsch...

Quatsch ist etwas, das man nicht versteht. Da Du mit Sicherheit kein fundierten und tiefgreifenden Kenntnisse in Softwareergonomie, guter Benutzerführung etc. hast (aber sehr viel Erfahrung, keine Frage), wäre es vielleicht angebracht, sich zumindest zu bemühen, die Regeln zu kennen, die andere (nämlich die, die sich damit auskennen) erstellt haben. Es geht nicht darum, Programmierer zu gängeln oder ihnen etwas vorzuschreiben, sondern es ist gewissermaßen eine Gebrauchsanweisung -oder besser: ein Kochbuch-, um GUI zu entwerfen, die gut zu bedienen sind. Rezepte in Kochbüchern kann man 1:1 befolgen, muss man aber nicht. Man bekommt auch so lecker Essen hin. Aber mit so einem Styleguide bekommt man ein Gefühl, was lecker ist und was man vielleicht nur selbst lecker findet (und die, die man bekocht, weil sie nichts besseres gewohnt sind).

Gibt es eigentlich dieses merkwürdige TDBControlGrid noch (oder wie das hieß)? Damit kann man das -glaube ich- machen.

Popov 19. Mär 2014 17:56

AW: Design eines Stringgrids
 
@Furtbichler

Ist es aber nicht so, dass es gerade Microsoft ist die ständig dagegen verstoßen?

Um zu verstehen was ich meine muss man weit zurück gehen, weit zurück in die DOS Zeit. Heute ist es so: ganz links gibt es das Menü "Datei", dort finden sich die Punkte zum Erstellen einer neuen Datei, zum Laden und zum Speicher, dann noch zum Thema drucken, und beenden des Programms. Dann folgt der Menüpunkt "Bearbeiten" usw. Unter DOS gab es diese Regeln nicht. Ich kenne Programme wie AutoCad, die speichern in einem Menü ganz rechts hatten, oder ein Textverarbeitungsprogramm, gespeichert wurde in einem Menü in der Mitte, beendet wurde ganz rechts, gedruckt wurde ganz vorne. Und da habe ich noch nicht die Programme erwähnt, wo man Funktionstasten drücken musste um zu laden oder speichern.

Seit Windows ist alles etwas standardisiert. Kennt man ein Programm, weiß man zumindest wo sich die wichtigsten Punkte befinden. Alle haben "Datei" ganz links usw. Irgendwo gibt es einen Menüpunkt Einstellungen oder Optionen, Hilfe usw. Um die Handhabung muss man sich also nicht mehr kümmern, denn alle Programme funktionieren ähnlich. Man muss sich nur noch um die speziellen Funktionen des Programms kümmern.

Aber nun wird das alles ausgehebelt. Menüs verschwinden, werden durch Ribons ersetzt, oder gar nicht, man muss einen Knopf ganz links klicken, erst dann kommt ein Menü, Programme bekommen Sonderformen, es gibt keine Titelleisten mehr, womit wir wieder am Anfang wären. Man muss jedes Programm aufs neue erlernen.

Furtbichler 19. Mär 2014 19:27

AW: Design eines Stringgrids
 
Zitat:

Zitat von Popov (Beitrag 1252587)
Ist es aber nicht so, dass es gerade Microsoft ist die ständig dagegen verstoßen?

Jupp. So ziemlich jede große Firma ist vertreten. Apple auch, Adobe. You name it. They've done it.
Aber das wird jetzt doch OT.

Jumpy 20. Mär 2014 07:54

AW: Design eines Stringgrids
 
Zitat:

Zitat von Popov (Beitrag 1252587)
Aber nun wird das alles ausgehebelt. Menüs verschwinden, werden durch Ribons ersetzt, oder gar nicht, man muss einen Knopf ganz links klicken, erst dann kommt ein Menü, Programme bekommen Sonderformen, es gibt keine Titelleisten mehr, womit wir wieder am Anfang wären. Man muss jedes Programm aufs neue erlernen.

Das es StyleGuide's gibt heißt ja nicht, dass diese sich nicht im Laufe der Zeit ändern können, wenn neue GUI-Elemete oder -Paradigmen oder was "erfunden" werden.

P.S.:
Ich war Anfangs auch kein Freund von den Ribbons, aber ich hab mich inzwischen dran gewöhnt. Man muss halt mit der Zeit gehen. Mein das jetzt als User. Als Entwickler hatte ich noch keinen Bedarf an Ribbons, weil das mMn nur Sinn macht in Programmen wie Office usw. wo man diverse "Werkzeuge" zur Bearbeitung darüber auswählen kann. Nur um die 5 Buttons = Menüpunkte, die ich zur Steuerung meines Programmes brauche unterzubringen, brauch ich kein Ribbon.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:01 Uhr.

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