Posts Tagged ‘Scrollbox’

BVASystem Version 2.2.1

Sonntag, Juli 13th, 2014

Die heutige Version des BVASystems, ist für mich etwas ganz besonderes, denn es ist die insgesamt einhundertste Version, die ich hier auf der Homepage veröffentlicht habe. Von diesen 100 Versionen waren 13 Versionen vom alten BVA-System 1.0. Die restlichen Versionen gehen alle auf das Konto dieses Blogs, den ich mit dem Start vom BVASystem 2.0 ins Leben gerufen habe. Ehrlich gesagt war der Blog die beste Idee, die ich jemals hatte. Ich finde es zum Beispiel gerade jetzt total interessant, in alten Entwicklungsständen zu stöbern und diese mit der aktuellen Version zu vergleichen. Es ist schon erstaunlich, auf was für eine Größe das BVASystem herangewachsen ist.  Nun aber wieder zur aktuellen Version:

Was ist neu in der Version 2.2.1

Die größte Änderung, die ich in den letzten Monaten umgesetzt habe ist die Ansichtseinschränkung. Mit dieser Funktion können unerwünschte Fotos aus den Bildlisten komplett ausgeblendet werden. Mir war diese Funktion so wichtig, damit ich die Bilder meiner Kinder ausblenden kann, wenn ich mir meine eigenen Fotos ansehen möchte. Des weiteren habe ich die Schlagwortverwaltung um weitere Funktionen erweitert. So ist es nun möglich Schlagworte umzubenennen, Schlagworte zu löschen und es können sogar 2 ähnliche Schlagworte zusammengeführt werden. Außerdem habe ich mit einigen Änderungen begonnen, die noch keine sichtbaren Früchte tragen. Wie versprochen habe ich erste Vorarbeiten durchgeführt, damit langfristig alle Datenbankfunktionen auch bei Bildern auf der lokalen Festplatte zur Verfügung stehen. Zu guter letzt habe ich mir eine eigene Scrollbar und eine eigene Scrollbox-Komponente geschrieben. Sie ersetzen nun bereits zum Großteil die hässlichen Standard-Scrollbars. 

BVASystem 2.2.1 - Einzelbildansicht

BVASystem 2.2.1 – Einzelbildansicht

Ausblick

Da ich es noch nicht ganz geschafft habe, überall im Programm meine neue Scrollbar einzubinden, steht dieses ganz oben auf meiner Wunschliste. Außerdem möchte ich auch weiterhin die Möglichkeiten zur Bildfilterung und auch der Ansichtseinschränkung erweitern. Gerade die Ansichtseinschränkung ist mit den 2 vorhandenen Kriterien noch ziemlich dünn. Der dritte Punkt, an dem ich arbeiten möchte ist etwas schwerer zu erklären. Das BVASystem hat aktuell eine sehr große technische Hürde. Wenn man das Programm wirklich testen möchte, so muss zuerst ein Datenbanksystem installiert und eingerichtet werden. Selbst wenn man dazu technisch gesehen in der Lage wäre, so wird man diesen Aufwand scheuen. Eine Lösung für das Problem wäre es, wenn ich eine Demo-Datenbank hier auf der Homepage installiere. Leider ist dies in der aktuellen Form nicht möglich, da ich dafür zu viele Datenbankrechte offen legen müsste. Daher habe ich mir etwas überlegt, damit ich beim Arbeiten an der lokalen Datenbankdatei auch dem Ziel Demo-Datenbank näher komme. Ich denke allerdings nicht, das es bis zu nächsten stabilen Softwareversion dort eine fertige Lösung geben wird. 

Die Ansichtseinschränkung

Sonntag, Juni 29th, 2014

Anfang des Monats stellte ich mein Konzept bzw. die fertige Oberfläche zur Ansichtseinschränkung vor. Nun knapp 3 Wochen später bin ich soweit, das die Ansichtseinschränkung eingesetzt werden kann. Es ist nun möglich, das beim Betrachten nur noch die Fotos angezeigt werden, welche mit einer speziellen Kamera aufgenommen wurden. Damit habe ich nun endlich eine Möglichkeit, die Bilder meiner Kinder auszublenden.

Aktive Ansichtseinschränkung mit zwei definierten Einschränkungen

Aktive Ansichtseinschränkung mit zwei definierten Einschränkungen

Außerdem habe ich mich daran versucht, eine eigene Scrollbox-Komponente zu schreiben. Mein Problem mit der von Delphi gelieferten Scrollbox ist, das diese eine andere Scrollbar verwendet. Mir gefällt es überhaupt nicht, das in der aktuellen Version des BVASystems zwei verschiedene Scrollbars zu sehen sind. Bei der Lösung des Problems habe ich mich allerdings gewaltig verschätzt. Ich dachte, es sei total einfach ein Panel um 2 Scrollbars zu erweitern und das Verschieben durch die Funktion „ScrollBy(deltax,deltay)“ zu realisieren.  Als ich die Umsetzung fertig hatte, fiel mir dann auf, das die Funktion alle die Steuerelemente auf dem Panel bewegte, also auch die Scrollbars. Die Suche nach einer Alternative kostete mich einige Tage. Ich habe jetzt ein Panel mit den Scrollbars und ein zweites Panel, auf dem die Steuerelemente platziert werden müssen.

Ausblick

Auch wenn die Ansichtseinschränkung nun prinzipiell fertig ist, so werde ich noch einige Erweiterungen daran vornehmen müssen. So stört es mich zum Beispiel, das es aktuell noch nicht deutlich genug zu sehen ist, ob eine Einschränkung aktiv ist. Außerdem ist es noch etwas schwach, da nur ein einzelnes Kriterium zur Einschränkung zur Verfügung steht. Außerdem werde ich probieren, ob die neue Scrollbox-Komponente außerhalb des Testdialoges eingesetzt werden kann.

Scrollbars einer TScrollbox

Dienstag, Mai 10th, 2011

In der letzten Zeit scheinen sich die Delphi Problemchen wieder zu häufen. Dieses mal hat mich die TScrollbox fast 2 Tage gekostet. Aber der Reihe nach:

Ich bin gerade dabei, eine Komponente zu entwickeln, mit der Metadaten, die zu einem Fotoalbum gehören, definiert werden können. Da eine beliebige Anzahl von Metadaten definiert werden kann, ist es notwendig, die jeweiligen Steuerelemente in eine Scrollbox anzuordnen.

Da es die erste TScrollbox ist, die ich im BVASystem benutze, fiel mir gleich ein grundlegendes Problem auf: Die Scrollbars der Scrollbox sahen optisch anders aus, als die in den selbstgeschriebenen Komponenten.

In Delphi 2005  sehen  die Steuerelemente standardmäßig so aus wie unter Windows 2000. Durch das Einbinden der Komponente TXPManifest kann das Aussehen auf den XP Style umgestellt werden.

Durch die selbstgeschriebenen Komponenten habe ich bisher darauf verzichtet, das Manifest in die Bilddatenbank zu integrieren. Es gab zu viele unschöne Effekte, die ich hätte korrigieren müssen. Außerdem finde ich es unschön, wenn das komplett in Brauntönen gehaltene Design durch blaue Scrollbars gestört wird.

Das Problem bei der TScrollbox war nun, das die Scrollbars der Scrollbox automatisch im XP-Style sind, auch wenn kein Manifest eingebunden wurde. Warum das so ist, habe ich leider nicht herrausfinden können. Aber ich habe eine Möglichkeit gefunden, wie man den XP-Style der Scrollbox wieder deaktivieren kann:

SetWindowTheme(Scrollbox.Handle, '', '');

Mit diesem schnöden Einzeiler sind die Scrollbars zumindest erstmal wieder einheitlich. Früher oder später, werde ich mich allerdings damit auseinander setzen müssen, wie ich mit der Oberflächengestaltung weiter umgehen werde. Wirklich toll sehen die Scrollbars bei deaktiviertem XP-Style nicht aus. Schlussendlich bleiben 2 Möglichkeiten: 1. Eigene hübschere Scrollbars entwickeln oder 2. den XP-Style Anwendungsweit aktivieren.