Forum: PC-Programmierung GUI - Wie erstellt man komplett eigene GUI-Elemente (Schaltflächen, Dropdowns,.)


von Marco K. (mbc)


Lesenswert?

Hi Leute

Mal ne Anfängerfrage bzgl. GUI.
Es gibt ja verschiedene Programme mit denen man z.B. bei VB/VC (NET) 
über Skins die GUI beeinflussen kann.

Ich stelle mir aber gerade die Frage, wie man es schafft, seine eigenen 
Controls zu erstellen.

Ich möchte z.B. eine Dropdownliste komplett im eigenen Design. Nur 
besteht dieses Control ja aus mehreren Teilen wie z.B. dem eigentlichen 
Fenster, der Schaltfläche zum Draufklicken und zuletzt dem ausgeklappten 
Zustand mit seinen Einträgen ...

Kurz gesagt: Es gibt mehrere Elemente in einem Control, welche je nach 
Zustand oder Aktion sich ändern oder anpassen.

Mit Skins kann man zwar das Aussehen schon ein wenig abändern, aber so 
richtig seine eigenen Controlls kann man damit wohl nicht machen (soweit 
ich weis). Wenn ich z.B. das Ausklappen eines Dropdown-Controls 
animieren möchte, dürfte dies mit Skins nicht so einfach möglich sein, 
zumal die Standard-Windows(NET)-Formklassen sowieso keine Animationen 
zulassen.

Deshalb mal meine Frage:
Wie erzeugt man eigene Controls mit eigenem Verhalten und animierten 
Aktionen? Bitmap- oder Vektorbasiert.

Zugegeben eine sehr komische und ungewöhnliche Frage, aber eigene 
animierte Controls sollten heutzutage doch machbar sein, ich denke 
zumindest mal das es die Zukunft sein wird.

Irgend jemand hier mit Tipps und Tricks ??

von Peter (Gast)


Lesenswert?

In dem man alles selber macht, du musst alles selber malen und auf die 
Events reagieren.

ABER MACH ES NICHT!

Auch wenn du der Meinung bist das es schöner ist. Sobald man mal über 
RDP Arbeitet flucht man über solche selbst gebastelten Controls - sie 
sind langsam, haben meist refresh Probleme und passend nicht zum 
restlichen Look und Feeel.

von Marco K. (mbc)


Lesenswert?

RDP = Remote Desktop Protocol ?
Wenn ja ... Ok, aber dafür soll das ja nicht sein.



Wie immer bei mir kann ich 5 Stunden lang googeln und nix finden, nach 
einem Post in einem Forum ist dann die erste weitere Suche ein Treffer.

Hab gerade WPF von MS gefunden.
Mit Expression Blend kann man ja anscheinend seine komplett eigenen 
Controls erstellen, laut einem Tutorial genau das was ich meine bzw 
suche.
Man kann wohl sogar auch die GUI komplett getrennt als eigene EXE machen 
... hmmm .....
http://msdn.microsoft.com/de-de/library/bb613598(printer).aspx


Nachteil ist wohl: Benötigt NET 3.0 und höher ...

Hat da jemand Erfahrung drin ? (Geschwindigkeit, ...)

BTW: Da obige Beispiel zeigt einen einfachen Button ... welches 
Stichwort brauchte ich, wenn ich eine Dropdownliste erzeugen wollte ? 
Die Anzahl der Einträge sowie deren Namen müssten ja an das Control 
übergeben werden.

Wollte mal schauen ob ich das irgendwie hinkriege wenn ich ein Stichwort 
zum googeln habe.

MFG

von Arc N. (arc)


Lesenswert?

Vorteile WPF:
- unterstützt Vektorgraphik
- bessere Trennung von Code und UI
- Trennung von Steuerelementen und deren Aussehen (Theming)
- besseres Databinding
- 3D-Unerstützung (Shader, Texturen etc)
- Animationen (auch zeitgesteuert)
- Auflösungsunabhängig bzw. ist dies mit WPF einfacher umzusetzen
- schnell (wird über Direct3D gerendert)
Nachteile WPF:
- deutlich anders als WinForms -> steile Lernkurve
- unterstützt nur alles ab XP SP2
- z.Z. etwas anderes Fontrendering als das restliche System (wird aber 
gerade überarbeitet, Workarounds: 
http://windowsclient.net/wpf/white-papers/wpftextclarity.aspx)

zum Starten u.U. ganz hilfreich
http://wpf.codeplex.com/Wiki/View.aspx?title=Southridge%20Lab
andere Startpunkte
http://wpf.codeplex.com/
http://www.codeproject.com/KB/WPF/

von der mechatroniker (Gast)


Lesenswert?

Lass es sein. Du verärgerst den Benutzer, für den die GUI einfach nur 
funktionieren soll, und zwar in allen Details so, wie er es erwartet 
(und sei es Copy+Paste über Strg+C und Strg+V oder über Kontextmenü, je 
nach persönlichen Vorlieben). Der Programmieraufwand, bis son Control 
einfach nur das selbe kann wie das eingebaute von Windows ist nicht zu 
unterschätzen, vor allem auch der Testaufwand (wird Unicode unterstützt, 
ist zu prüfen, ob arabische oder chinesische Schrift auch tatsächlich 
richtig rauskommt).

von Marco K. (mbc)


Lesenswert?

Ich danke Euch für die Antworten.

Ist erstmal wieder reichlich zum nachlesen, rumgoogeln und Überdenken.
Die Einwände nehme ich zu Herzen und kann mich jetzt speziell darüber 
weiter informieren.


Vielen Dank !

MFG

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.