vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 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: Bug? Fenster nicht oben! 
Autor: E7
Datum: 16.02.05 15:03

Hi,

ich glaube so langsam bin ich am Verzweifeln... Ich bastel gerade an einer Anwendung mit vielen, vielen Fenstern. Jedes dieser Fenster besitzt einen Button, mit dem das jeweilige Fenster mittels SetWindowPos systemweit als Topmost-Fenster angezeigt wird (also nicht verdeckt werden kann)...

Nun kann der Nutzer durch Klicken auf den Button in der Titelleiste die Topmost-Eigenschaft ein- oder ausschalten, was auch für das jeweilige Fenster ganz gut funktioniert... Aber: Die API scheint diese Eigenschaft nicht nur einem Fenster zu entziehen, sondern allen...

Hier mal ein Beispielcode. Ihr benötigt dazu lediglich 2 Forms, in der ersten gehört dieser Code rein:

Option Explicit
Private Declare Function SetWindowPos Lib "user32" (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 = &H2
Private Const SWP_NOSIZE = &H1
 
Private Sub Form_Load()
'Erst mal zweite Form laden:
Form2.Show
'Erste Form nach oben:
SetWindowPos Me.hWnd, -1, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
'Zweite Form nach oben:
SetWindowPos Form2.hWnd, -1, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
'Erste Form nicht mehr oben:
SetWindowPos Me.hWnd, -2, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
End Sub
Der Code macht folgendes:
* Form1 nach oben
* Form2 nach oben
* Form1 nicht mehr nach oben

Windows führt jetzt irgendwie noch den Schritt "Form2 nicht mehr oben" aus, obwohl ich den eigentlich nie wollte... Ich bin schon fast am verzweifeln, die anderen Formulare sollen doch oben bleiben... Wer hat von euch schon mal ähnliche Erfahrungen gemacht? Wer kennt eine Lösung? Ich freue mich schon auf eure zahlreichen Antworten

E7

???????????????????????????????????????????????????????????
e7o.de | jetzt (wirklich) neu!

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
SetWindowPos: Bug? Fenster nicht oben!7.797E716.02.05 15:03
Re: SetWindowPos: Bug? Fenster nicht oben!3.382ModeratorMartoeng16.02.05 15:42
Re: SetWindowPos: Bug? Fenster nicht oben!3.052E716.02.05 16:06
Re: SetWindowPos: Bug? Fenster nicht oben!2.858ModeratorMartoeng16.02.05 19:24
Re: SetWindowPos: Bug? Fenster nicht oben!2.796E716.02.05 19:29
Re: SetWindowPos: Bug? Fenster nicht oben!2.703ModeratorMartoeng17.02.05 18:54
Re: SetWindowPos: Bug? Fenster nicht oben!2.785E717.02.05 20:03
Re: SetWindowPos: Bug? Fenster nicht oben!2.725Guido Eisenbeis02.03.05 01:28
Re: SetWindowPos: Bug? Fenster nicht oben!2.689E702.03.05 14:03
Re: SetWindowPos: Bug? Fenster nicht oben!2.629Guido Eisenbeis02.03.05 21:07
Re: SetWindowPos: Bug? Fenster nicht oben!2.639E703.03.05 13:55
Re: SetWindowPos: Bug? Fenster nicht oben!2.609RapID23o510.03.05 15:40
Re: SetWindowPos: Bug? Fenster nicht oben!2.567E710.03.05 19:30
Re: SetWindowPos: Bug? Fenster nicht oben!2.776RapID23o511.03.05 16:09
Re: SetWindowPos: Bug? Fenster nicht oben!2.692E711.03.05 17:58
Re: SetWindowPos: Bug? Fenster nicht oben!2.540BasTler14.04.05 13:34
Re: SetWindowPos: Bug? Fenster nicht oben!2.803BasTler14.04.05 13:53
Re: SetWindowPos: Bug? Fenster nicht oben!2.482E714.04.05 18:07
Re: SetWindowPos: Bug? Fenster nicht oben!2.754RapID23o503.06.05 16:03
Re: SetWindowPos: Bug? Fenster nicht oben!2.601ModeratorMartoeng03.06.05 18:03
Re: SetWindowPos: Bug? Fenster nicht oben!2.685E704.06.05 19:58

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