Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Automatische Anpassung der Höhe und Ausrichtung
Flamefire - Sa 08.01.11 18:33
Titel: Automatische Anpassung der Höhe und Ausrichtung
Ich will eine Art Newsfeed erstellen. Praktisch den Livestream von ICQ nachbauen (QIP hat den leider nicht)
D.h. ich hab links ein Bild, als "Überschrift" einen Namen und darunter eine Statusnachricht und 0-n Kommentare.
Zusätzlich wäre es gut, wenn in der Nachricht Links funktionieren würden.
Ich habe also mehrere Komponenten von denen die meisten Text variabler Länge anzeigen sollen. Das Ganze natürlich platzsparend. Also Ausnutzung der vorgegebenen Breite und minimale Höhe und darunter direkt das nächste Element.
Erste Idee war, die Daten als HTML zu formatieren und so auszugeben. Würde ich da mit TWebBrowser hinkommen oder gibt es Alternativen? (Brauch ja nur eine Komponente, die mir HTML rendert und anzeigt und dabei Links, Bilder, Tabellen und einfaches CSS beherscht.)
Alternative wäre alles mit Standartkomponenten zu machen. Aber wie? Wie kriege ich die dazu, ihre Größe dem Inhalt und der Breite anzupassen und die darunterliegenden Elemente entsprechend aufzurücken?
elundril - Sa 08.01.11 18:37
Ad HTML: Vielleicht ist bei den Jedis was entsprechendes dabei das HTML spricht.
Ad andere Kompos: Selbst Programmieren wäre eine Lösung. Ist zwar arbeit wenn man sich erst dazu einarbeiten muss weil es kaum literatur dafür gibt, aber man hat genau das was man braucht.
lg elundril
jaenicke - Sa 08.01.11 18:47
Ja, bei der JEDI VCL sind Komponenten dabei, denen du auch HTML füttern kannst. Die liegen in JvHtControls.pas, z.B. TJvHTListBox.
Und dann gibt es auch noch die HtmlViewer Komponenten, die sind im Gegensatz zum TWebBrowser nativ und mit Quelltext:
http://pbear.com/htmlviewers.html
Flamefire - So 09.01.11 07:34
hm. mit den jedis habe ich nix passendes gefunden. hab die komponenten mal mit html-code einer tabelle gefüttert, aber der macht probleme mit neuen Zeilen. Die Html-viewer kompos sehen aber gut aus...
Martok - So 09.01.11 21:50
Flamefire hat folgendes geschrieben : |
Die Html-viewer kompos sehen aber gut aus... |
Sind sie auch, man sollte nur an eins denken: HTML 3.02 und CSS1, rudimentär. Ist also bei weitem nichts aktuelles, reicht aber für die meisten Anwendungen vollkommen aus.
Flamefire - Fr 14.01.11 20:12
Hm... Die Kompo läuft unter D2009 nicht wirklich. Verdammter AnsiString...
Der operiert dort mit einem Haufen Codepages rum. Ist mir zu hoch das Zeug :(
jaenicke - Fr 14.01.11 20:35
Flamefire hat folgendes geschrieben : |
Hm... Die Kompo läuft unter D2009 nicht wirklich. Verdammter AnsiString...
Der operiert dort mit einem Haufen Codepages rum. Ist mir zu hoch das Zeug :( |
Einfach stur durchgehen. Wir haben das auch gemacht, Dauer (mit XE) vielleicht 15-20 Minuten für diese Komponente alleine schätze ich.
Wenn du alles bis auf die ShortStrings auf Ansi umstellst, klappt es bei der Komponente schon zumindest fast soweit ich mich erinnere.
Flamefire - Fr 14.01.11 21:19
Nja habs jetzt etwas...anders gemacht. Da (wenn ich richtig liege) WideString=String ist, hab ich erstmal die ganzen Funktionen auf Widestrings entfernt (macht ja Delphi standart schon) und von den andrem Zeug hab ich einfach gelöscht, was ging und zur Not halt ne kurzzeitige Umwandlung auf AnsiString
Damit brauchte ich weniger ändern und hab die Vorteile von Delphis neuem String Typ
Ist zwar nicht ganz schön, aber da es eh nicht so sehr auf Sonderfälle wie exotische Codepages angeht und der HTML-Teil von mir erstellt wird, wird das schon gehn...
Auf AnsiString umzustellen wird vermutlich längern dauern. Besonders da Delphis Stringfunktionen ja auf Widestring ausgelegt sind... Das würde es langsam machen.
Aber wäre gut, wenn der Entwickler oder jemand von hier das Ding mal auf die neuen Delphi-versionen bringt.
Edit: Und theoretisch ist der ganze Schmarrn mit den Codepages doch eh witzlos, wenn man Widestrings verwendet, oder?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!