vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Windows API
SetWindowPos mit MDIForm und normaler Form (kein MDI child) 
Autor: jacky ryan
Datum: 24.02.12 20:20

Hallo,

nach mehreren Stunden erfolgloser Google-Sucherei hoffe ich, dass mir einer von euch helfen kann.

Ich habe ein Programm mit einer MDIForm und mehreren MDI-Childs und mehreren "nicht"-MDI-Childs. Wenn ich nun möchte das eine "nicht"-MDI-Child-Form im Vordergrund ist, schaffe ich es nicht, dass die MDIForm im Hintergrund bleibt.

Folgender Code:

MDIForm1.frm:
Private Sub MDIForm_Load()
    Form1.Show
End Sub
Form1.frm (kein MDI-Child):
Option Explicit
 
Private Declare Function SetWindowPos Lib "user32.dll" (ByVal hwnd As Long, _
  ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal Y As Long, ByVal cx As _
  Long, ByVal cy As Long, ByVal wFlags As Long) As Long
 
Private Const SWP_NOMOVE = 2
Private Const SWP_NOSIZE = 1
Private Const HWND_FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Private Const HWND_TOP = 0
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
 
Private Sub Command1_Click()
    Call SetWindowPos(Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, HWND_FLAGS)
End Sub
 
Private Sub Command2_Click()
    Call SetWindowPos(Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, HWND_FLAGS)
End Sub
Wenn ich auf Command1 klicke ist Form1 zunächst im Vordergrund. Ich kann dann wie erwartet das Fenster eines anderen Programms öffnen, Form1 bleibt aber im Vordergrund. Wenn ich nun Form1 anklicke taucht die MDIForm1 aber auch wieder auf! Und genau das will ich verhindern, die MDIForm1 soll im Hintergrund bleiben.

Die MDIForm1 zu minimieren geht nicht, weil der Benutzer eventuell noch mit der MDIForm1 arbeiten will.

Geht das irgendwie?

Vielen Dank für eure Hilfe,
Jacky
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
SetWindowPos mit MDIForm und normaler Form (kein MDI child)3.812jacky ryan24.02.12 20:20
Re: SetWindowPos mit MDIForm und normaler Form (kein MDI chi...2.019jacky ryan24.02.12 20:51
Re: SetWindowPos mit MDIForm und normaler Form (kein MDI chi...1.948ModeratorMartoeng27.02.12 18:11
Re: SetWindowPos mit MDIForm und normaler Form (kein MDI chi...1.977jacky ryan27.02.12 22:54

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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