Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - von Delphi 7 auf aktuell: grafische Änderung?


ahpuch - Mo 18.07.16 15:52
Titel: von Delphi 7 auf aktuell: grafische Änderung?
Hallo,
ich bin noch ganz neu in dem Thema und wollte mich erkundigen ob beim umstellen einer älteren Anwendung (geschrieben in Delphi 7) auf eine neue Version auch die ganze bisherige Oberfläche etwas moderner aussieht oder noch genauso wie mit Delphi 7.

Falls die Informationen nicht ausreichen, bitte Bescheid sagen.
Wie schon geschrieben, ich bin noch recht neu in der Materie.

Ich bedanke mich im Voraus bei euch!


galagher - Mo 18.07.16 19:05

user profile iconahpuch hat folgendes geschrieben Zum zitierten Posting springen:
ob beim umstellen einer älteren Anwendung (geschrieben in Delphi 7) auf eine neue Version auch die ganze bisherige Oberfläche etwas moderner aussieht oder noch genauso wie mit Delphi 7.
Nun ja, das hängt vor allem von von deinem Betriebssystem ab. Wenn du zB. bei Windows ein Theme benutzt, wird dieses in dein Programm übernommen, wenn du "Laufzeit-Themes aktivieren" eingestellt hast. Eine spezielles Manifest, wie es das, so weit ich weiss, für Delphi 7 noch gab, musst du nicht selbst bzw. einbinden, darum kümmert sich Delphi.

Von da her sehen deine älteren Anwendungen schon moderner aus, eben wie andere Anwendungen auch!


hRb - Mo 19.09.16 11:22

Ich kann Dir nur mitteilen, dass mein Programmrahmen (Form1) inkl. der Menü-Leiste nach Update von WIN7 auf WIN10 komplett weiß ist. Ich weiß nicht warum, sieht aber richtig *mist*e aus. Ebenso ist der Schließen-Button, als auch Minimieren, Maximieren ohne Farbe. (Programm wurde mit Delphi 7 unter WIN7 compiliert). Microsoft sei Dank! :(
hRb


JoelH - Mo 19.09.16 13:47

Hab gerade ein altes D4 Projekt auf XE7 ungestellt. Oberflächentechnisch ändert sich da nur ganz wenig bis nichts, wenn du keine Laufzeit-Themes aktivierst. Was mir aufgefallen ist, dass sich die Hintergrundfarbe in Menüs zum Teil nicht so verhalten wie in der alten Version. Wenn mit und ohne Icons gearbeitet wird, dann ist die Hintergrundfarbe unterschiedlich. Lässt sich aber mit "Leericons" leicht fixen. Und auch in einer TToolbar war das Hintergrundverhalten zunächst etwas anders. Aber das bekommt man in den Griff.


hRb - Mo 19.09.16 14:58

Admi: danke für Ausdruckskorrektur (war erster Impuls)
Hallo JoelH,
das mit der Farbe würde ich gerne hinterfragen, denn selbst Delphi7 ist unter WIN10 in Form1 weiß geworden. Es ist also keine Eigenart meines Programms. Der Standard für Objekte bei Delphi lautet clBtlFace und unter Win10 enthält diese Farbe nehezu kein Grau-Anteil mehr.
Und hier meine Frage: eine Farbänderung in Form1.Color mit mehr grau, z.B.clBtnShadow ändert zwar den Arbeitsbereich, aber wie kann ich die Farbe im Programmkopf beeinflussen???????? Und wie erhält der schöne rote Schließen-Button wieder seine Farbe?
hRb


Nersgatt - Mo 19.09.16 15:03

user profile iconhRb hat folgendes geschrieben Zum zitierten Posting springen:
Admi: danke für Ausdruckskorrektur (war erster Impuls)


Das macht die Forensoftware automatisch.


Martok - Di 20.09.16 12:28

user profile iconhRb hat folgendes geschrieben Zum zitierten Posting springen:
Der Standard für Objekte bei Delphi lautet clBtnFace und unter Win10 enthält diese Farbe nehezu kein Grau-Anteil mehr. [...] Und wie erhält der schöne rote Schließen-Button wieder seine Farbe?
Das ist Windows 10, da kann Delphi nichts dafür. Dieses Design findet man bei MS jetzt toll und das hast du gefälligst zu mögen, die Einstellungen dafür hat man nämlich auch aus der Systemsteuerung entfernt. :roll:

Ja, es gibt prinzipiell die "Akzentfarbe" um zumindest die Titelleiste einzufärben, aber das stellt auch Elemente im halben restlichen System um, ist also nicht wirklich hilfreich.


Delete - Di 20.09.16 12:49

- Nachträglich durch die Entwickler-Ecke gelöscht -


jaenicke - Di 20.09.16 13:47

user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
Externe Theme-Skin Komponenten wie z.B. AlphaControls [http://www.alphaskins.com/pchase.php] wären hierbei hilfreich.
Da Delphi selbst nun VCL Styles kennt, braucht man in aktuelleren Delphiversionen keine externen Komponenten mehr.

user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
Das ist Windows 10, da kann Delphi nichts dafür. Dieses Design findet man bei MS jetzt toll
Bei XP wurde darüber genörgelt, dass es zu bunt ist, bei Vista über zu klobige Fensterränder, bei Windows 7 darüber, dass der Schließen-Knopf zu stark hervorgehoben ist und die Transparenz unnötig sei, bei Windows 8 über die fehlende Transparenz. Und jetzt ist es eben zu schlicht.

Irgendwer schreit halt immer. Leider manchmal auch genau dieselben. (Nein, damit meine ich nicht dich. ;-))


Martok - Di 20.09.16 14:53

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:
Das ist Windows 10, da kann Delphi nichts dafür. Dieses Design findet man bei MS jetzt toll
Bei XP wurde darüber genörgelt, dass es zu bunt ist, bei Vista über zu klobige Fensterränder, bei Windows 7 darüber, dass der Schließen-Knopf zu stark hervorgehoben ist und die Transparenz unnötig sei, bei Windows 8 über die fehlende Transparenz. Und jetzt ist es eben zu schlicht.
Bis 8 hatte man da aber immerhin Optionen für und konnte das seinem schlechten Geschmack anpassen :P
Heute muss man da irgendwelche dubiose Software installieren die in den Themeservices rumpatcht und nebenbei wer-weiß-was tut, eindeutig eine Verbesserung :roll:

So, und jetzt ermahne ich mich mal selber, weil das grade etwas off-topic wird. Für Windows-Rants habe ich doch schon ein Thema :mahn:


hRb - Fr 21.10.16 19:54

Hallo Profis,
ich bin auch nicht glücklich über das nahezu farblose Out-Fit. Wenn ich aber eine Beitrag weiter oben richtig verstehe, gibt es ohne tiefe Eingriffe ins Betriebssystem WIN 10 keine Möglichkeiten wieder etwas mehr Farbe zu zeigen. Ich habe jedoch einige nicht Mikrosoft-Programme, die noch Farbe in der Leiste haben und auch die Schließen/Maximieren-Button Ränder zeigen (siehe beigefügtes jpg). Arbeiten die mit anderen Programmiersprachen / Compilern? Vielleicht hat jemand einen Tipp um auch die eigenen Programme aufzupeppen.
Gruß hRb


Delete - Fr 21.10.16 20:58

- Nachträglich durch die Entwickler-Ecke gelöscht -


Sinspin - Sa 22.10.16 10:22

Ich finde Win10 was die Farbgestaltung angeht auch das letzte. Das Gebaren Koogle, mit dem ausspionieren der Nutzer, unbedingt das Wasser reichen zu müssen ist für einen Betriebsystemhersteller mit einer so langen Tradition aus meiner Sicht absolut unverständlich.

Was allgemein das aufhübschen via Skins angeht, hat es auch noch einen anderen Vorteil. Egal welches System drunter ist, das Programm sieht immer gleich aus und ein Nutzer hat auf jedem System die gleiche Oberfläche vor sich. Oder eben seine persönliche, falls sich das einstellen lässt.

Wir verwenden seit vielen Jahren DevExpress. Natürlich nicht wegen der Skins, sondern wegen der Datenbankkomponenten. Die Skinengine macht das Programm größer, ohne Zweifel. Aber die Leistung ist dafür auch gewaltig. Jeder Nutzer kann mit dem Skin arbeiten bei dem er sich am wohlsten fühlt.

DevExpress ist für privat viel zu teuer. Ich nehme daher meißt das was Delphi dabei hat (bisher ohne die Skins zu probieren) oder meinen eigenen RGB Renderer.


Martok - So 23.10.16 02:36

Weil diese Frage kürzlich fast exakt so auch auf der Lazarus-ML kam, mal in den Raum gefragt: ist das für einen Entwickler wirklich so überraschend, dass ein Programm beim Wechsel auf Windows 10 nun mal so sch...ön aussieht wie Programme unter Windows 10 nun mal aussehen?


JoelH - Mo 24.10.16 10:05

Nervig sind nur kleinere Änderungen die "unter" der Oberfläche stattfinden und nicht gleich offensichtlich werden.

Da sind plötzlich Panel-Captions zu lesen die in früheren Versionen unsichtbar waren. Focusverlierende Comboboxen, wenn der Mauszeiger nicht mehr darüber steht. Statusbars, die partou nicht die richtige Farbe annehmen wollen und sich nicht brav refreshen lassen......


doublecross - Mo 24.10.16 15:05

user profile iconSinspin hat folgendes geschrieben Zum zitierten Posting springen:
Was allgemein das aufhübschen via Skins angeht, hat es auch noch einen anderen Vorteil. Egal welches System drunter ist, das Programm sieht immer gleich aus und ein Nutzer hat auf jedem System die gleiche Oberfläche vor sich. Oder eben seine persönliche, falls sich das einstellen lässt.

Darüber ob das ein Vorteil ist lässt sich trefflich Streiten. Ich erwarte eigentlich, dass sich eine Anwendung "Systemüblich" verhält und darstellt. Sprich sie soll Unter Windows aussehen, wie eine Windows Anwendung, unter Linux wie eine Linux Anwendung (auf dem Entsprechenden Desptopmanager) usw. Eine Geskinte Anwendung erscheint mir eher wie ein Fremtkörper im System. Ganz schlimm wird es dann, wenn sich Listen oder ähnliches dann noch anders verhalten als auf dem System üblich (aufpooen bei Mouse over oder ähnliches).

Somit sehe ich es nicht als Vorteil wenn eine Anwendung sich überall gleich verhält, ich erwarte eher, dass sie sich überall so verhält, wie es sich dort geziemt ;).


PS: Dieser Beitrag soll auf gar keinen Fall die aktuelle Windows Designsprache in Schutz nehmen ;).


hRb - So 22.01.17 00:50

Ich habe WIN10 Unrecht getan im Hinblik auf die fehlende Farbe in der Kopfzeile (weiß):
Tipp, Bediene:
Tastenkommando Window + I, links "Farben" anwählen, Schieber "Farbe in der Titelleiste anzeigen" auf EIN, dann im Feld unter Akzentfarbe eine Farbe anklicken.
Schon ist im eigenen Programm in der Titelleiste die angewählte Farbe wieder da.