AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TGrid in FM mit Daten füllen

Ein Thema von Peter-Pascal · begonnen am 18. Jan 2014 · letzter Beitrag vom 27. Jan 2014
Antwort Antwort
Seite 3 von 3     123   
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#21

AW: TGrid in FM mit Daten füllen

  Alt 24. Jan 2014, 14:12
Hallo,

Zitat:
[...] Ich habe gestern bis fast Mitternacht an diesem Problem gerätselt und Du hast es in recht kurzer Zeit gefunden.
Wenn Kollege Zufall behilflich ist.

Hast Du es mit FullScreen := True und BorderStyle := bsNone schon versucht?

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Peter-Pascal

Registriert seit: 18. Feb 2007
Ort: 32139 Spenge
197 Beiträge
 
Delphi 11 Alexandria
 
#22

AW: TGrid in FM mit Daten füllen

  Alt 24. Jan 2014, 14:15
Ich habe mir auch die Seite "Gestenunterstützung in Metropolis-UI-Anwendungen" in der Hilfe angeschaut. Bringt mich aber nicht viel weiter. Erklärt, dass es wegen Windows 8 einen Unterschied zu Windows 7 gibt. Und man kann eine globale Variable setzten. Das habe ich getan, aber trotzdem keine Änderung. Wobei ich nicht weiß, was mit "Hauptprogrammdatei" gemeint ist.

Ich habe Fullscreen auf False. Nur so funktioniert es, dass onGesture aus Scrollbox1 antwortet. Borderstyle ist egal, so wie ich das jetzt gesehen habe
Peter Niemeier
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#23

AW: TGrid in FM mit Daten füllen

  Alt 24. Jan 2014, 20:26
Hallo,

Zitat:
[...] Wobei ich nicht weiß, was mit "Hauptprogrammdatei" gemeint ist.
Die .dpr Deines Projekts.

Zitat:
Ich habe Fullscreen auf False. Nur so funktioniert es, dass onGesture aus Scrollbox1 antwortet. Borderstyle ist egal, so wie ich das jetzt gesehen habe
Wenn das Ändern der Eigenschaft BorderStyle keine Auswirkung zeigt, dann macht wohl XE4 ≠ XE5 und/oder Windows 8 ≠ Windows 8.1 den Unterschied aus. Der BorderStyle wird während des Erstellens des Hauptformulars so oder so von bsSizeable auf bsNone geändert.

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Peter-Pascal

Registriert seit: 18. Feb 2007
Ort: 32139 Spenge
197 Beiträge
 
Delphi 11 Alexandria
 
#24

AW: TGrid in FM mit Daten füllen

  Alt 26. Jan 2014, 14:08
Hallo Volker,

möglich, dass es wegen der Versionsunterschiede zu den Ergebnissen führt. Macht nichts, dann muss ich eben umdenken. Bin schließlich noch am Anfang.

Vielleicht sollte ich mal schreiben, was ich überhaupt plane: Eine Zeitleiste in der Ereignisse der Geschichte aufgenommen werden und mit Klick nähere Details dargestellt werden.
Also fast so wie die Bespiele von Metropolis UI. Das hat mir gut gefallen. Die Listbox erschien mir auf den ersten Blick dazu sehr geeignet mit dem MetropolisItem. Das Item kann Text und ein Bild aufnehmen. Die ListBox auf Horizontal gestellt, wirkte perfekt. Aber im Detail kamen die Probleme. Zum Beispiel: ES ist möglich mehrere Columns für die Listbox einzustellen, aber die werden nicht über den Bildschirmrand hinaus dargestellt, sondern die Items werden immer kleiner gerechnet.

Egal ich probiere noch weiter.

Eine Frage habe ich noch. Warum muss am Anfang TListBox = class (FMX.Listbox.TListbox); end; hinzugefügt werden? Wobei FMX.Listbox.pas der Name der Unit ist? Klar damit der Zugriff auf TScrollbox vorhanden, aber wieso weiß Delphi das nicht ohne diesen Aufruf?

Aber wie dem auch sei, Du hast mir sehr geholfen. Vielen Dank dafür.

Gruß Peter
Peter Niemeier
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#25

AW: TGrid in FM mit Daten füllen

  Alt 26. Jan 2014, 21:01
Hallo,

Zitat:
Vielleicht sollte ich mal schreiben, was ich überhaupt plane: Eine Zeitleiste in der Ereignisse der Geschichte aufgenommen werden und mit Klick nähere Details dargestellt werden [...]
Mit einer Listbox - hm? Ich weiß zwar nicht was Du genau vorhast, für mich wäre eine Listbox wohl nicht die erste Wahl. Ich denke, Dein Vorhaben ließe sich doch recht einfach Darstellen (siehe Grafiken im Anhang):
  • Eine Klasse, die die Eckdaten der Ereignisse halten
  • Eine Liste (z. B. TObjectList), die die Ereignisse enthält
  • Eine TScrollBox aufs Formular
  • In der ScrollBox eine TLine (Line1.Position.X := 0) mit einer Breite, die der Zeitspanne entspricht
  • Für die "Einträge" zur Laufzeit z. B. ein TCalloutRectangle mit einer TText Komponente (und ein TImage) drauf erzeugen und alles entsprechend positionieren
  • Einen "fixen" OnClick Handler den TCalloutRectangle und TText Komponenten einhängen (der sucht dann den entsprechenden Eintrag in der Listen und zeigt die zugehörigen Details an)
Wenn das für Dich eine Option ist, dann solltest Du Dir dafür besser eigene Klassen ableiten.

Zitat:
Eine Frage habe ich noch. Warum muss am Anfang TListBox = class (FMX.Listbox.TListbox); end; hinzugefügt werden? [...]
Das ist kein Muss. Wenn nur auf die public deklarierte Eigenschaften und Methode bzw. published deklarierte Eigenschaften programmseitig zugegriffen wird, dann ist es unsinnig.
Ich wollte aber auf die Scrollbars der ListBox zugreifen. Die sind aber in der Klasse TScrollBox als protected deklariert (und werden weder in TCustomListBox noch TListBox published), daher ist Zugriff nicht möglich (Stichwort Sichtbarkeit von protected Eigenschaften/Mehtoden: von Aussen nein, innerhalb der Unit ja).
Du kannst Dir den Zugriff auf die Scrollbars auch über einen class helper (in der OH unter: Unterstützende Klassen) bauen, das geht z. B. so:

Delphi-Quellcode:
type
  TListBoxHelper = class helper for FMX.ListBox.TListBox
  private
    function GetVertScrollBar : TScrollBar;
  published
    property VertScrollBar : TScrollBar read GetVertScrollBar;
  end;

function TListBoxHelper.GetVertScrollBar;
begin
  Result := Self.VScrollBar
end;
und der Zugriff dann so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.VertScrollBar.Value := 40
end;
Gruß
Miniaturansicht angehängter Grafiken
timeline1.jpg   timeline2.jpg  
Volker Zeller
  Mit Zitat antworten Zitat
Peter-Pascal

Registriert seit: 18. Feb 2007
Ort: 32139 Spenge
197 Beiträge
 
Delphi 11 Alexandria
 
#26

AW: TGrid in FM mit Daten füllen

  Alt 27. Jan 2014, 14:23
Hallo Volker,

ich glaube, dass ist die beste Idee mit den TCallOutRectancle zu arbeiten. Es muss halt nur die Position berechnet werden. Und genau dass hoffte ich mit TListBox zu vermeiden. Aber wenn ich mir jetzt Deine Bilder anschaue, muss ich erkennen, es sieht besser aus.

Vielen Dank für Deinen Vorschlag. Ich habe in den letzten Dialogen viel über FMX gelernt.

Gruß Peter
Peter Niemeier
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 11:14 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