| |
Visual-Basic EinsteigerEntwickeln auflösungsunabhängiger Benutzerschnittstellen | | | Autor: Sophus | Datum: 30.08.13 14:15 |
| Hallo Leute,
mein Programm ist zu 80 Prozent fertig. Und nun dachte ich, es ist an der Zeit, meine Anwendung so zu gestalten, dass die Formulare und die darauf befindlichen Steuerelemente für die Verwendung auf Systemen, die mit verschiedenen Bildschirmauflösungen betrieben werden, angepasst werden. Ihr kennt es ja auch, dass nicht jeder die gleiche Auflösung und die gleiche Größe des Monitors besitzt. Wenn jemand mit einem NetBook arbeitet, kann es sehr schnell passieren, dass die Vor nicht vollständig angezeigt werden und einige Steuerelemente (Textboxen, ListView, Buttons, Frame, Label etc.) nicht mehr zu sehen sind.
Zu diesem Thema fand ich diese Seite
Entwickeln auflösungsunabhängiger Benutzerschnittstellen. Hierzu das passende Projekt von ihm: MultiResolution.zip. Der Autor spricht das Thema zu 99,9 Prozent an. Wieso nicht 100 Prozent? Das Projekt funktioniert tadellos. Aber nur solange, wie die Formen keine MDIChild = False sind.
In meiner Anwendung arbeite ich mit MDIForm, und die restlichen Formen haben MDIChild = True. Übertrage ich also das Projekt auf eine Form mit MDIChild = True, dann werden die Form und die darauf befindlichen Steuerelemente skaliert, aber in meinen Augen nicht richtig.
Wenn ich meine Steuerelemente auf meine Form platziere, und anschließend meine Bildschirmauflösung so gering wie es nur geht einstelle, und dann das Programm starte, dann wird es nicht so skaliert, dass auch bei niedrigster Auflösung alles auf dem Bildschirm zu sehen ist. Die Hälfte der Form wird dann weggeschnitten. Einige würden ja sagen, "Im Modul muss du es auf Form As MDIForm einrichtigen.". Habe ich auch schon probiert - klappt trotzdem nicht.
Jemand eine Idee, wie ich das mit Hilfe des Projektes hinbekomme? | |
Re: Entwickeln auflösungsunabhängiger Benutzerschnittstellen | | | Autor: Blackbox | Datum: 30.08.13 21:35 |
| Hi,
das Problem ist ein altes VB - Problem. Du musst bei der Creation des MIDClient-Window ( das VB allerdings vor Dir verbirgt) das Flag: MDIS_ALLCHILDSTYLES setzen auf den MDI-Client als Creation->STYLE setzen. Du hast unter VB maximal Zugriff auf den MDI-Frame. Der MDI-Client ist das ganz dunkel graue Window innerhalb des MDI-Frame-Window().
Konkret heißt das: Du kannst das VB-Konzept für MDI nicht für Deine Belange verwenden, da selbst wenn Du das Flag erfolgreich setzen kannst, das Laufzeitsystem das wieder cancelt. Das heißt weiter: Du musst die MDI-Funktionalität selbst in die Hand nehmen. VB hat keinen Support für diesen neuen Konstrukt der MDI.
Genauer: Du musst MDi selbst handeln und kannst keine COM-Funktionalität mehr erwarten - es sei denn, Du generierst die neuen Clients zu Container-Window.
Fazit: Sehr schwer, kein Anfängerthema.
Beitrag wurde zuletzt am 30.08.13 um 21:40:14 editiert. | |
Re: Entwickeln auflösungsunabhängiger Benutzerschnittstellen | | | Autor: Sophus | Datum: 30.08.13 22:01 |
| Hey Blackbox,
vielen Dank für deine Antwort. In der Tat klingt der Sachverhalt sehr kompliziert. Noch ist das Thema nicht so dringend, weil ich erst bei 80 Prozent meines Projekt angekommen sind. Es sind noch einige Wege zu erledigen, aber ich dachte einfach schon im Voraus. Mein Projekt sieht folgendermaßen aus. Die MDIForm1 soll immer im WindowsState Maximal angezeigt werden. Die darin befindlichen Formen mit MDIChild = True sollen ebenso im WindowsState Maximal gestartet werden, da die Formen alle im BorderStyle veränderbar sind. Die Formen sollen quasi die MDIForm1 ausfüllen. Und deswegen erscheint es mir wichtig, dass die Formen immer an die Bildschirmgröße angepasst werden muss, ansonsten hat man hässliche Scrollebars in der MDIForm1. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
TOP! Unser Nr. 1
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|