Laden...

Meine Skin Komponente

Erstellt von dr4g0n76 vor 18 Jahren Letzter Beitrag vor 16 Jahren 7.001 Views
dr4g0n76 Themenstarter:in
2.921 Beiträge seit 2005
vor 18 Jahren
Meine Skin Komponente

Die Komponente findet sich unter:

Skins

So dazu möchte ich gerne wissen,
was für Vorschläge habt ihr noch, was wollt ihr noch alles haben?
oder hab ich mit der untenstehenden ToDo Liste schon alles erschöpft?

Bei den mit evtl. bezeichneten Sachen würde ich gerne wissen, ob ihr dafür oder dagegen seid.

//So das schreib ich hier aber trotzdem lieber zuerst mal auf Deutsch

To do:

  • Properties ändern, jedes Control muss in der Lage sein, seine eigenen Properties bezüglich des Skins zu kennen
    Soll heißen: SkinnedControl muss properties wie ForeColorHover usw. enthalten und nicht mehr die SkinSingleton
    Klasse, diese könnte es höchstens noch statisch setzen (also für alle Controls), besserer Platz auch dafür ist
    wohl die SkinnedControl Klasse

  • evtl.: Observerliste einbauen (Geschwindigkeitssteigerung)
    Es soll nur noch das control neu gezeichnet werden, das auch wirklich gerade nach einem Update verlangt...

  • Formübergabe
    mir gefällt nicht, dass am Anfang das zu skinnende Form gesetzt werden muss.
    Vielleicht doch wieder über Form.ActiveForm oder API ermitteln

  • evtl.: Doch komplett versuchen ActiveX-Modell umzusetzen (natürlich C#-spezifisch),
    so dass evtl. auch File-Requester geskinned werden können? Am besten dazu Umfrage im Forum...
    dafür wäre ein korrekter System-Hook nötig. Dieser kann nur in einer zweiten DLL sein...
    geht leider in C# nicht wirklich. evtl. andere Methode finden

  • Laden von Skins

  • Dazu wird ein Skin-Editor benötigt (wohl nicht im ersten Release...)

  • Korrektes zeichnen alle gewünschten Captionbuttons

  • evtl.: Threading sicher machen...

  • nicht getestet ist aber ganz sicher so:
    Controls in Tabpages und Frames sowie Panels bzw. alle Container die controls aufnehmen können,
    werden nicht aufgelöst. hier wird also noch nichts geskinned
    wird geändert!!!!

  • Resize event für updateControls automatisch ermitteln
    Controls sollen automatisch merken, ob sie schon upgedated wurden

  • Attribute für Deactivated controls ergänzen

  • weitere Properties einbauen.

  • Controls sollen gleich richtig dargestellt werden

und dann würde ich sagen fertig

History:
15.07.2005 in alle Dateien Header von mycsharp.de eingebaut.
15.07.2005 Class1 rausgeschmissen
14.07.2005 Absicherung gegen Abstürze: wenn Grafiken nicht gefunden werden, kommt jetzt eine MessageBox
14.07.2005 Absicherung gegen Abstürze: wenn Form nicht übergeben wird, kommt jetzt eine MessageBox
14.07.2005 SystemMenü eingebaut, das anzeigt, ob Skins aktiv sind (falls man je auf der Form davon nix sieht...)
14.07.2005 ctrl.Text = "blub" rausgeschmissen, Überbleibsel vom debuggen...

Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.

N
4.644 Beiträge seit 2004
vor 18 Jahren

--> Bitte im richtigen Forum posten. verschoben nach Projekte.

X
2.051 Beiträge seit 2004
vor 18 Jahren

*Ups* Noodles war schneller. 🙂

1.549 Beiträge seit 2004
vor 18 Jahren

Was mich noch ein wenig stört ist das man die einzelnen Effekte nicht einzeln ein und ausschalten kann.

Wir Arbeiten eigendlich nicht wir nehmen nur das geld

dr4g0n76 Themenstarter:in
2.921 Beiträge seit 2005
vor 18 Jahren

Das ist in Arbeit.

Sag bitte genauer, was du haben willst:

Bisher als nächstes setzbar sein wird:

Font
Image (für hovering)
BackgroundImage
Region
Hovereffect an/aus
Custom Titlebar an/aus
Custom borders an/aus

Jeweils für Status

FLAT,
HOVERED,
CHECKED,
LEAVE,
HOVER,
DEACTIVATED,
ORIGINAL

Ausserdem habe ich in Arbeit das für jedes Control quasi ein eigenes Skin gesetzt werden könne. Ist das zu verrückt?

Weiterhin sollen die einzelnen Eigenschaften trotzdem für jedes Control setzbar bleiben.

Ausserdem kann dann für jedes Control ein/ausgeschalten werden, ob geskinned werden soll oder nicht. Ebenso für jede Control Art (z.B: alle Buttons nicht geskinned)

15.07.2005 Neuer Bug entdeckt: bei Resize wird Titlebar nicht neu gezeichnet... bisher keine Lösung
15.07.2005 Skin wird jetzt am Anfang gleich richtig initialisiert und alles aufgebaut.

Wäre das so ok?

Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.

1.549 Beiträge seit 2004
vor 18 Jahren

Ja das wäre schon super

Wir Arbeiten eigendlich nicht wir nehmen nur das geld

dr4g0n76 Themenstarter:in
2.921 Beiträge seit 2005
vor 18 Jahren

Immerhin kanns jetzt schon so aussehen:

Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.

T
13 Beiträge seit 2007
vor 16 Jahren

Ich hab irgendwie noch keine konkrete Anleitung gesehn wie ich mir mit der SkinLib eigene Skins basteln und diese einbinden kann.
Falls ich sie einfach übersehen hab, bitte nen Link posten. Wäre nett, weil die Idee echt gut ist.

  • "Du hast ihn umgebracht!"

  • "Nein. Die Kugel und der Sturz aus dem Fenster haben ihn umgebracht."

dr4g0n76 Themenstarter:in
2.921 Beiträge seit 2005
vor 16 Jahren

@ T-Rip: Ich werde diese Woche noch etwas dazu posten, wenn ich dazu komme.

Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.

K
165 Beiträge seit 2007
vor 16 Jahren

Hi Dr4g0n76,

Original von dr4g0n76
Ausserdem habe ich in Arbeit das für jedes Control quasi ein eigenes Skin gesetzt werden könne. Ist das zu verrückt?

Nö, würde ich cool finden 🙂

Original von dr4g0n76

Ausserdem kann dann für jedes Control ein/ausgeschalten werden, ob geskinned werden soll oder nicht. Ebenso für jede Control Art (z.B: alle Buttons nicht geskinned)

Sehr gut, flexibilität > alles 🙂

Dann noch eine Frage:

In deinem Screenshot, sieht man noch die "Reste" der Standardform, das behebst Du in der finalen Version dann doch sicherlich oder?

Und noch etwas: Ich hab jetzt schon sehr viele Skin-Tools getestet, dabei ist mir aufgefallen das eigentlich alle durch die Bank weg nicht in der Lage sind Scrollbars zu skinnen (Sei es Die von den Webbrowser Controls, listbox etc..). Wenn Du das hinbekommen würdest wär das echt genial 🙂

BTW, schön das es mit deinem Projekt weitergeht 🙂. Wenn ich C# konformer wäre, würde ich dir gerne helfen 😁

Gruß Kalleberlin

If u want to finish first, u have to finish first.