Rubrik: Oberfläche · Sonstiges | VB-Versionen: VB5, VB6 | 04.01.03 |
XP-Style auf das eigene Programm übertragen 3 Workaround, um die Darstellungsprobleme bei Controls innerhalb Frames zu beheben. | ||
Autor: Rene Zimmerling | Bewertung: | Views: 18.718 |
www.mgp-why.de | System: WinXP, Win8, Win10, Win11 | kein Beispielprojekt |
Wenn man mit VB6 unter Windows XP einen CommandButton in einem Frame erzeugt, sieht das nomalerweise so aus:
Wie unschwer zu erkennen ist, wird die Schaltfläche innerhalb des Frames mit einem schwarzen Rahmen dargestellt. Kein schöner Anblick Damit diese Schaltfläche genauso schön dargestellt wird, wie diejenigen, die außerhalb des Frames liegen, gibt es zwei Möglichkeiten:
1. Variante
Man erzeugt den Button außerhalb des Frames. Dort sieht er genauso aus wie die anderen.
Anschließend schiebt man den Button in den Frame hinein - und zwar an die Stelle, wo man ihn gerne haben möchte Somit sehen alle Buttons wieder gleich "schön" aus.
Hinweis:
Wenn man ein Element (Button, Textfeld etc.) in einem Frame erzeugt ist es mit diesem verbunden und wird, sobald man das Frame z.B. unsichtbar macht (Visible = False) ebenfalls ausgeblendet. Wenn man allerdings das Element auf o.g. Weise in das Frame-Control "schiebt", ist es mit diesem nicht verbunden, sondern liegt nur über ihm (also im Vordergrund). D.h. dass man die Elemente dann einzeln unsichtbar oder auch disabled darstellen muss.
Diesen Aufwand kann man aber wie folgt umgehen:
2. Variante
Man platzierst in das Frame-Control zunächst eine PictureBox mit "BorderStyle = 0". Die Controls, die im Frame dargestellt werden sollen, erstellt man dann direkt auf der PictureBox.