[Control] LayerManager

    • Release

    Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von HouseFreak.

      [Control] LayerManager

      Hallo,

      das Control ist ihm Rahmen meines aktuellen Projekts "Button Studio.NET" entstanden. Man kann damit relativ simpel in einem Bildbearbeitungsprogramm sogenannte Ebenen verwalten.
      Wenn ihr nicht genau versteht, was ich meine, lest einfach weiter. Ich schätze das klärt sich dann von selbst 8-) .

      Anforderungen:
      • .NET-Framework 3.5 oder höher
      • VB oder C# (für die Verwendung)

      VB-Version:
      • Visual Basic 2008

      Screenshot:




      Properties:
      Spoiler anzeigen

      • BorderColor
      • Layers (Gibt die Ebenen als List(Of Layer) zurück)
      • HeaderColor
      • MainBoxBackColor
      • MarginLeft (Abstand der Boxen vom linken Rand)
      • MarginTop (Abstand der Boxen vom oberen Objekt)
      • HoverColorA (1. Farbe des MouseOver-Effekts)
      • HoverColorB (2. Farbe des MouseOver-Effekts)
      • ScrollPosY (stellt die aktuelle Scrollposition ein)
      • SelectedColorA (1. Farbe des Selected-Effekts)
      • SelectedColorB (2. Farbe des Selected-Effekts)
      • SiteSize (Seitengröße der Boxen)
      • VBoxBackColor (Farbe der Box mit der "Visible"-Checkbox)
      • SelectedIndex


      Methoden:
      Spoiler anzeigen

      • SetMargin(Top, Left)
      • RemoveLayer(Layer)
      • MoveLayer(Index, Destination)
      • AddLayer(Layer)
      • Clear()
      • SelectIndex(Index)


      Events:
      Spoiler anzeigen

      • OrderChanged (Tritt ein, wenn die Reihenfolge der Ebenen verändert wurde.)
      • VisibilityChanged (Tritt ein, wenn die Sichtbarkeit einer Ebene verändert wurde.)
      • SelectedChanged (Tritt ein, wenn eine andere Ebene ausgewählt wurde.)
      • LayerAdded (Tritt ein, wenn eine Ebene hinzugefügt wurde.)
      • LayerRemoved (Tritt ein, wenn eine Ebene entfernt wurde.)



      Zur Klasse "Layer"

      Die Klasse "Layer" beinhaltet folgendes:
      1. Das Bild (als "Bitmap")
      2. Die Größe (als "Size")
      3. Die Information (als "String")
      4. Die Sichtbarkeit (als "Boolean")
      5. Ob Ausgewählt oder nicht (als "Boolean")
      6. Das Graphics-Objekt der Bitmap (als "Graphics")
      Sie besitzt 2 Konstruktoren:
      1. New(Width, Height)
      2. New(Width, Height, Information)
      Will man Beispielsweise eine 100 x 100 große Ebene mit einem Kreis erstellen, geht man so vor:

      VB.NET-Quellcode

      1. 'Instanziierung
      2. Dim eb As New Layer(100, 100, "Beispiel")
      3. 'Zeichnen kann man ganz einfach über die Property "G"
      4. eb.G.DrawEllipse(Pens.Black, 0, 0, 100, 100)


      Handhabung:

      Die Position der Ebenen kann man ganz einfach per Drag & Drop verändern.


      Wie immer hab auch ein Beispielprogramm in das Archiv gepackt :)

      DOWNLOAD:

      Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „Lindi666“ ()

      Konnte es jetzt noch nicht testen. Aber was mir schon auffällt:
      Wenn man programmiert sollte man sich schon für eine Sprache entscheiden (wobei man meiner Meinung nach einfach in Englisch bevorzugen sollte), bei diesem Mischmasch weis man ja nicht, wenn man nicht die IntelliSens durchscrollt, wonach man suchen sollte. ;)
      EDIT: Habs jetzt mal angetestet: Sieht viel versprechend aus ;) Mich nervt nur das bereits erwähnte ;)
      Ja, ich gebe dir Recht, bei manchen Dingen ist das Kauderwelsch furchtbar :pinch:

      Mir fällt es immer schwer die richtige "Mischung" aus Verständlichkeit und Länge des Namens zu finden...
      Du kannst mir auch ein Paar Verbesserungsvorschläge hinsichtlich der Bezeichnung von Properties, Methoden und Events geben,
      wenn du willst.