Ergebnis 1 bis 5 von 5

Thema: fenster im vordergrund bei vb6 - rückgängig

  1. #1
    Interessierte/r
    Registriert seit
    17.12.2007
    Ort
    Wien
    Beiträge
    101
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard fenster im vordergrund bei vb6 - rückgängig

    hmm ich hab so das gefühl ich bin der einer der wenigen die hier im forum posten, aber ich hätte wiedermal eine frage. ich hoff ihr verweist mich nicht wieder auf vbarchiv, wäre schade wenn dieses forum ausstirbt. also zu meinem problem:

    ich hab im internet einen sehr schönen code für vb6 gefunden, den ich in ein modul reinkopiert habe:

    Code:
    Option Explicit
    
    ' alle benötigten API-Deklarationen
    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 Declare Function GetWindowLong Lib "user32" _
      Alias "GetWindowLongA" (ByVal hwnd As Long, _
      ByVal nIndex As Long) As Long
    
    Private Declare Function SetWindowLong Lib "user32" _
      Alias "SetWindowLongA" (ByVal hwnd As Long, _
      ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    
    Private Const SWP_FRAMECHANGED = &H20
    Private Const SWP_NOMOVE = &H2
    Private Const SWP_NOSIZE = &H1
    Private Const SWP_NOZORDER = &H4
    Private Const SWP_NOACTIVATE = &H10
    Private Const SWP_REFRESH = SWP_NOZORDER Or _
      SWP_NOSIZE Or SWP_NOMOVE Or SWP_NOACTIVATE Or _
      SWP_FRAMECHANGED
    
    Private Const GWL_STYLE = (-16)
    
    Private Const WS_MAXIMIZEBOX = &H10000
    Private Const WS_MINIMIZEBOX = &H20000
    
    Private Const HWND_TOPMOST = -1
    
    ' Minimieren/Maximieren Button einer Form anzeigen
    Public Sub MinMaxButton(Form As Form)
      Dim Style As Long
    
      With Form
        Style = GetWindowLong(.hwnd, GWL_STYLE)
        Style = Style Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX
        SetWindowLong .hwnd, GWL_STYLE, Style
        SetWindowPos .hwnd, 0, 0, 0, 0, 0, SWP_REFRESH
      End With
    End Sub
    
    ' Fenster immer im Vordergrund
    Public Sub TopWindow(hwnd As Long)
      SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, _
        SWP_NOSIZE + SWP_NOMOVE
    End Sub
    so rufe ich es nun auf:

    Code:
    If mainform.Check2.Enabled = True Then
      ' Fenster immer im Vordergrund anzeigen
      TopWindow Me.hwnd
    End If
    der code funktioniert wunderbar, allerdings möchte ich es auch wieder umstellen, dass das form nicht mehr immer im vordergrund ist. ich kenn mich leider noch zuwenig aus, als das ich einfach herumprobieren könnte. wahrscheinlich ist es nur ein kleiner "handgriff". vl könnt ihr mir helfen, ich würde mich freuen

    mfg SeekeR
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Gehe immer vom guten Willen Anderer aus!

  2. #2
    Interessierte/r
    Themenstarter

    Registriert seit
    17.12.2007
    Ort
    Wien
    Beiträge
    101
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    so in einem anderem forum haben sie mir geholfen, ich poste hier mal die lösung (im modul):

    Code:
    Private Const HWND_NOTOPMOST = -2
    
    Public Sub UntopWindow(hwnd As Long)
    
    SetWindowPos hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, _
        SWP_NOSIZE + SWP_NOMOVE
    End Sub
    dann ausführen mit:

    Code:
    UntopWindow me.hwnd
    Gehe immer vom guten Willen Anderer aus!

  3. #3
    Kaiserliche Hoheit Avatar von vbtricks
    Registriert seit
    26.12.2005
    Beiträge
    1.586
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Salut,

    bitte das + durch ein Or ersetzen.

    Das mag gut gehen, ist aber kein Stil. Das Odern von Flags sollte man sich angewöhnen, sonst bekommt man nämlich Probleme, wenn man mal aus versehen z.B. SWP_NOSIZE + SWP_NOSIZE übergibt.


    Stefan
    Farben richtig wählen: ColorBlender
    Website validieren: W3C Markup Validation Service
    Meine Website: vbtricks
    Kleines Snake zwischendurch?

  4. #4
    Interessierte/r
    Themenstarter

    Registriert seit
    17.12.2007
    Ort
    Wien
    Beiträge
    101
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    ok danke, den code hab ich eben aus einem anderen forum bekommen, ich werde es umändern. wahrscheinlich hat das den selben grund, wie das mit den message boxen (also zb vbInformation Or vbYesNo)

    danke..

    mfg SeekeR
    Gehe immer vom guten Willen Anderer aus!

  5. #5
    Kaiserliche Hoheit Avatar von vbtricks
    Registriert seit
    26.12.2005
    Beiträge
    1.586
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Salut,

    Zitat Zitat von SeekeR
    wahrscheinlich hat das den selben grund, wie das mit den message boxen (also zb vbInformation Or vbYesNo)
    Hat es. Informatiker verwenden funktionierende Dinge gerne weiter .


    Stefan
    Farben richtig wählen: ColorBlender
    Website validieren: W3C Markup Validation Service
    Meine Website: vbtricks
    Kleines Snake zwischendurch?

Ähnliche Themen

  1. Wie kann ich einen Bann rückgängig machen?
    Von im Forum Webanwendungen - Webapplikationen
    Antworten: 1
    Letzter Beitrag: 30.07.2008, 12:36
  2. Aktionen Rückgängig machen
    Von Seawolf-371 im Forum Zope & Plone - das deutsche Hilfeforum
    Antworten: 2
    Letzter Beitrag: 21.06.2007, 15:23
  3. E-Mails Rückgängig machen
    Von Musterhaus im Forum Computer - Internet Forum
    Antworten: 2
    Letzter Beitrag: 12.05.2007, 13:34
  4. Wie mache ich Löschung rückgängig
    Von Dinoei im Forum Computer - Internet Forum
    Antworten: 6
    Letzter Beitrag: 01.05.2007, 19:57
  5. Fenster im Vordergrund
    Von im Forum HTML & CSS Forum
    Antworten: 4
    Letzter Beitrag: 28.06.2004, 08:48

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •