ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 15.12.1999

Diese Seite wurde zuletzt aktualisiert am 15.12.1999
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für IE, Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Zurück...


Anzeige

(-hg) mailto:hg_setowner@aboutvb.de

Es gibt zwei Möglichkeiten, mit Hilfe von API-Funktionsaufrufen ein Form dauerhaft in den Vordergrund zu bringen. Wie Sie ein Form in den Vordergrund vor alle übrigen Fenster aller Anwendungen bringen, sehen Sie in Vordergründige FormsVordergründige Forms.

Die andere Möglichkeit bewirkt, dass sich ein Form lediglich immer vor einem anderen bestimmten Form befindet. Dies ist beispielsweise dann sinnvoll, wenn das Form im Vordergrund ein Werkzeugfenster oder ähnliches darstellen soll und sich immer vor dem dazugehörenden Arbeitsfenster "schweben", aber sich nicht ständig fest in den Vordergrund vor alle anderen Forms und Fenster schieben soll.


Wenn Sie ein Form als Besitzer (Owner) eines anderes Forms festlegen, befindet sich letzteres immer im Vordergrund vor seinem Besitzer

Neben der weitaus bekannteren Parent-Zuordnung von Windows-Fenstern (Forms) gibt es auch die Owner-Beziehung zwischen Fenstern. Die Parent-Zuordnung bedeutet, dass sich ein Fenster (etwa das eines Steuerelements) auf der Arbeitsfläche eines anderen Fensters befindet, sich sozusagen "innerhalb" dieses Fensters befindet. Die Owner-Beziehung bedeutet hingegen nur, dass ein Fenster von einem anderen abhängig ist.

Ein Effekt dieser Abhängigkeit ist (und um diesen geht es in diesem Artikel), dass sich das Fenster (Form) immer vor seinem "Besitzer" befindet, diese Vordergrundeigenschaft jedoch andere Fenster nicht berührt. Ein anderer Effekt ist, dass das Fenster verschwindet, wenn sein Besitzer von der Bildfläche verschwindet. Wird etwa der Besitzer minimiert, wird ein zugeordnetes Fenster so lange unsichtbar, bis der Besitzer wiederhergestellt wird. Sie können es mit einem Aufruf der Show-Methode jedoch unabhängig davon wieder sichtbar machen.

Es wird aber auch unsichtbar, wenn der Besitzer geschlossen, also entladen wird. Allerdings sollten Sie es dann mit diesem zusammen entladen - am besten im Unload-Ereignis des Besitzer-Forms. Sollten Sie dies übersehen, können Sie das hinterbliebene zugeordnete Form zwar von einer anderen Stelle in Ihrer Anwendung entladen, jedoch können Sie es nicht mehr sichtbar machen, wenn sein Besitzer nicht mehr existiert.

Diese Owner-Beziehung setzen Sie über einen Aufruf der API-Funktion MSDN Library - API SetWindowWordSetWindowWord mit dem undokumentierten Index-Parameter GWL_HWNDPARENT:

Private Declare Function SetWindowLong Lib "user32" _
 Alias "SetWindowLongA" (ByVal hWnd As Long, _
 ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Public Sub SetOwner(FormOwned As Form, FormOwner As Form)
  Const GWL_HWNDPARENT = -8

  SetWindowLong FormOwned.hWnd, GWL_HWNDPARENT, FormOwner.hWnd
End Sub

Beispiel-Projekt und Modul modSetOwner (setowner.zip - ca. 3,4 KB)






Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche



Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer