vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 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

Visual-Basic Einsteiger
Screen minimieren 
Autor: caramba
Datum: 20.07.12 13:55

Hallo,

folgende Ausgangslage:

- auf dem Desktop befinden sich 2 Screens meiner Applikation, welche sich überlagern.
(Hauptmenü, überlagert durch Screen für Rechnungen)

- Kunde klickt auf die Minimieren-Schaltfläche

- Rechnungsmaske wird minimiert und über der Taskliste angezeigt. Die Menümaske
bleibt unverändert stehen.


Jetzt reklamiert der Kunde das, aus seiner Sicht, nicht standardmässige Verhalten an. Er
wünscht, dass alle Screens der Applikation minimiert und in der Taskleisteange-
zeigt werden. Bei einem Klick auf das minimalisierte Icon in der Taskleiste soll das Programm
wieder maximalisiert im Vordergrund angezeigt werden.

Besteht eine Möglichkeit, diese Forderung zu erfüllen und wenn ja, wie ?

Danke für Eure Hilfe.

Gruss, Rainer
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Screen minimieren 
Autor: Manfred X
Datum: 20.07.12 17:27

Hallo!

Ich vermute, Du meinst, dass auf einem Bildschirm (Screen)
zwei Windows (Fenster, Formulare) angezeigt werden. ????

Soll das jeweils minimierte Window in der Taskleiste als Button oder als
ICON (in Systray) angezeigt werden? (Icons erstellt man normalerweise
für die Anwendung als solche, aber nicht für einzelne Fenster.
Man verwendet dann ein Kontextmenü.)

Handelt es sich um eine MDI-Anwendung? Sollen Child-Windows verwaltet werden?

Was genau bedeutet "bei einem Click auf das minimalisierte (?) Icon,
soll das Programm (?) maximalisiert im Vordergrund (?) angezeigt werden?

Soll das MainMenü-Formular der Anwendung in den Vordergrund (Windowstate =
Maximized)? Oder das zuletzt benutzte und dann minimierte Formular?
Sollen mit einem Click alle Formulare der Anwendung ausgeblendet
und per Icon-Click wieder "restauriert" werden können?

MfG
Manfred
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Screen minimieren 
Autor: caramba
Datum: 21.07.12 07:48

Hallo Manfred,

auf einem Bildschirm hat man ja in der Regel oben rechts die 3 Button Mimimize, Maximize und Close.
Klickt der Benutzer auf den Minimize-Button sollen alle Formulare der Applikation ausgeblendet und
in der Taskbar als Icon angezeigt werden. Der Benutzer sieht so, dass die Applikation noch geöffnet
ist. Mit einem Doppelklick auf des Programm-Icon in der Taskbar soll die Anwendung wieder restauriert
werden.

Es handelt sich nicht um eine MDI-Anwendung.


Gruss
Rainer
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Screen minimieren 
Autor: Manfred X
Datum: 21.07.12 14:58

Hallo!

Wenn ein minimiertes Fenster nicht in der Taskbar erscheint,
sondern darüber angezeigt wird, steht die Eigenschaft "ShowinTaskbar"
vermutlich auf false.

Falls es darum geht, alle Fenster einer Anwendung parallel beim
Minimieren auszublenden und über einen Button (!) in der Taskleiste
wieder herzustellen:

Eine Hauptform: Form1
Eine untergeordnete Form: Form2, wobei ShowInTaskbar = false

'Form1
Option Explicit
 
'untergeordnete Instanzen von Form2
Dim WithEvents f2 As Form2
Dim WithEvents f3 As Form2
 
Private Sub Form_Load()
 
   Set f2 = New Form2
   Set f3 = New Form2
   Me.Show
 
   f2.Top = Me.Top + 400: f2.Left = Me.Left + 400
   f2.Show
   f2.ZOrder 0
 
   f3.Top = Me.Top + 800: f3.Left = Me.Left + 800
   f3.Show
   f3.ZOrder 0
End Sub
 
Public Sub HideSubWindows(Optional ByVal minimize As Boolean = True)
    f2.Hide: f3.Hide
    If Me.WindowState <> vbMinimized And minimize Then _
       Me.WindowState = vbMinimized
End Sub
 
Public Sub ShowSubWindows()
    f2.WindowState = vbNormal: f3.WindowState = vbNormal
    f2.Show: f3.Show
End Sub
 
'Benachrichtigung verarbeiten
Private Sub f2_Minimized()
    HideSubWindows
End Sub
 
Private Sub f3_Minimized()
   HideSubWindows
End Sub
 
Private Sub Form_Resize()
   If Me.WindowState = vbMinimized Then
      HideSubWindows False
   Else
      ShowSubWindows
   End If
End Sub
 
'Form2
Public Event Minimized()
 
Private Sub Form_Resize()
    If Me.WindowState = vbMinimized Then
       RaiseEvent Minimized
    End If
End Sub


Beitrag wurde zuletzt am 21.07.12 um 14:59:40 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Screen minimieren 
Autor: caramba
Datum: 22.07.12 10:30

Hallo,

leider funktioniert noch immer nicht. Ich habe nun eine Routine eingebaut, welche das
Programm-Icon im SystemTray anzeigt. Bei einem Doppelklick auf das Icon soll die Form
angezeigt werden (vorgängig Me.Visible = False); bei einem Rechtsklick soll ein PopUp
aufgehen wo der Benutzer verschiedene Aktionen machen kann.

Jetzt ist es aber so, dass bei einem Rechtsklick das ganze Programm beendet wird. Die
Kontrolle geht automatisch an das Startmodul zurück, welches die Verarbeitung beendet.


Aufruf der Applikation vom Startmodul aus (Module1)
       ...
       MenuForm1.Show vbModal
    End If
    ' ------------------------------------------- Mutex löschen
    UnloadForms
    Exit Sub
ErrInfo:
    MsgBox Err.Number & ", " & Err.Description
    Resume Next
End Sub
Routine zum Abarbeiten des Mausevents auf dem Icon im SystemTray
Sobald der Rechtsklick erfolgt, wird das Programm automatisch beendet. Eigentlich sollte
unter dem Icon ein kleines Menü erscheinen; was aber nicht der Fall ist.

Public Function SubWndProc(ByVal hwnd As Long, ByVal msg As Long, ByVal wParam _
  As Long, ByVal lParam As Long) As Long
    Dim point As POINTAPI
    Select Case msg
       Case WM_TASKBAREVENT
          Select Case (lParam And &HFFFF&)
             ' --------------------------------- linke Maustaste (Doppelklick)
              Case WM_LBUTTONDBLCLK
                 MenuForm1.Show
             ' --------------------------------- rechte Maustaste (Klick)
              Case WM_RBUTTONDOWN
                 GetCursorPos point
                 MenuForm1.PopupMenu MenuForm1.popup_m, , point.X * _
                   Screen.TwipsPerPixelX, _
                                 point.Y * Screen.TwipsPerPixelX
          End Select
    End Select
    ' ------------------------------------------ Ursprüngliche WinProc aufrufen
    SubWndProc = CallWindowProc(PrevWndProc, hwnd, msg, wParam, lParam)
End Function
Momentan drehe ich irgendwie im Kreis. Trotz Googeln usw. finde ich keine Lösung.

Gruss
Rainer
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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