AGB  ·  Datenschutz  ·  Impressum  







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

Gelöst: Skin mit Farbanpassung

Ein Thema von Garfield · begonnen am 22. Jun 2008 · letzter Beitrag vom 28. Jun 2008
Antwort Antwort
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#1

Gelöst: Skin mit Farbanpassung

  Alt 22. Jun 2008, 10:16
Ich möchte eine Form mit einem Skin versehen, wobei der Skin farblich angepasst wird.

Meine derzeitige Vorgehensweise:

<strike>Ein </strike>PNG wird aus der Resource geladen, in ein Bitmap geladen, das Bitmap eingefärbt und in ein TImage geladen. Die Button zum Schliessen und Minimieren werden genauso geladen. Weil deren TImages nicht klickbar waren, wurden Panel daruntergelegt.[/f] Beim Close wird die Anwendung geschlossen und beim Minimize in den Systray minimiert.

Das Einfärben:

Die PNG enthalten die Helligkeitswerte der Bilder. Gemischt wird mit clActiveCaption. Das heißt, der entsprechende Farbwert wird von RGB nach HSV konvertiert und das Bild durch Austausch der Helligkeitswerte eingefärbt.

Im Windows XP-Stil mit dem Farbschemata Blau, Olivgrün und Silber funktioniert dies ganz gut. Bei Windows klassisch liegen die Buttonbilder anscheinend unter den Panels.

Vielleicht könntet Ihr es testen und mir Tipps geben, was ich noch verbessern kann.

Anhänge gelöscht, siehe unten.
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Clemens L.

Registriert seit: 27. Apr 2008
35 Beiträge
 
Delphi 2009 Architect
 
#2

Re: Skin mit Farbanpassung

  Alt 22. Jun 2008, 11:02
Ich bevorzuge ja das klassiche Windows-Design, und sehe keine Buttons (Xp SP3). Der Farbverlauf ist blau, aber die Tabs grau, da könnte man vielleicht noch blau färben?
Clemens
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Skin mit Farbanpassung

  Alt 22. Jun 2008, 11:42
Es sollen nur der Rahmen und die Button eingefärbt werden. Der Bereich mit dem Pagecontrol soll so bleiben.

Wenn die TImages auf die Panel gelegt werden, sind Button auch bei Windows klassisch sichtbar. Nur die Transparenz funktioniert nicht richtig.

Anhänge gelöscht, siehe unten.
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Skin mit Farbanpassung

  Alt 22. Jun 2008, 13:01
Hi,

Was schön wäre, wäre ein Hover-Effekt für den Minimieren- und Schließenbutton.
Ansonsten siehts ganz nett aus, auch wenn diese sehr breite Titelleiste nicht so meinen Geschmack trifft

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#5

Re: Skin mit Farbanpassung

  Alt 22. Jun 2008, 15:06
Nun ohne extra TPanel und TImage für die Button. Es werden die drei PNG geladen, in ein BMP gezeichnet und in das TImage geladen. Damit funktioniert es auch bei der klassischen Ansicht.

Zitat von Neutral General:
Was schön wäre, wäre ein Hover-Effekt für den Minimieren- und Schließenbutton.
Genau!!!

Deshalb hatte ich es mit verschiedenen Button und mit TImage versucht.

TSpeedButton - Wären eigentlich ideal. Wurden vom TImage überdeckt.
TButton - Unterstützt keine Bilder.
TBitBtn - Sah nicht schön aus. Irgendwie war da immer eine Kante im Weg.
TPNGButton - Wurden ebenfalls vom TImage überdeckt.

Oder hat da nur die message WM_NCHitTest gestört?

Zitat von Neutral General:
Ansonsten siehts ganz nett aus, auch wenn diese sehr breite Titelleiste nicht so meinen Geschmack trifft
So wie es ist, gefällt es mir auch nicht. Wenn Titelleiste beschriftet und noch ein paar Button untergebracht wurden, sollte die Sache schon etwas anders aussehen.

Anhänge gelöscht, siehe unten.
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#6

Re: Skin mit Farbanpassung

  Alt 22. Jun 2008, 19:29
Obwohl hier keine Beiträge mit Hilfestellungen kamen, hat der Thread anscheinend dazu geführt einen tagelangen Ideenstau aufzulösen. Auf jeden Fall ist mein Problem erst einmal gelöst.

Der Rahmen bzw das Hintergrundbild sowie die Masken für die Buttongruppe sowie die Buttonbilder liegen als PNG vor. Aus dem Rahmen und den Masken wird ein neues Bitmap erstellt und in das TImage geladen. Unter den Masken liegen TPNGButton, in welche jeweils drei Bilder (Normal, Over und Down) geladen werden. Diese werden teilweise eingefärbt. Der Minimize-Button minimiert die Anwendung als Icon in den Systray, der Close-Button beendet die Anwendung.

Das Bild enthält eine Gesamtansicht des Formulars und Ausschnitte der Buttongruppe mit den einzelnen Zuständen.
Miniaturansicht angehängter Grafiken
skintest_805.png  
Angehängte Dateien
Dateityp: 7z skintest_src_183.7z (91,4 KB, 25x aufgerufen)
Dateityp: 7z skintest_exe_197.7z (227,1 KB, 31x aufgerufen)
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#7

Re: Skin mit Farbanpassung

  Alt 28. Jun 2008, 18:12
Zitat von Neutral General:
... auch wenn diese sehr breite Titelleiste nicht so meinen Geschmack trifft
Man könnte es auch so machen:
Miniaturansicht angehängter Grafiken
skintest6_488.png  
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#8

Re: Gelöst: Skin mit Farbanpassung

  Alt 28. Jun 2008, 20:17
Im Projekt hatte ich zum Einfärben clActiveCaption gewählt. clGradientActiveCaption dürfte zutreffender sein.

Beim Beispiel in vorigen Beitrag sehen die Button rund aus. Damit dies ordentlich funktioniert, müsste jeweils ein Bild mit den drei Zuständen der Button erstellt, die Buttonbereiche ausgeschnitten und den TPNGButton zugewiesen werden. Denn die Bilder der Button sollten so groß sein wie die Button, damit man die Kontur nur beim Click sieht.
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:09 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