Der nachfolgende Tipp stammt wieder einmal aus einer Forums-Anfrage. Hier wurde nach einem Code gefragt, mit dem man ein Fenster für eine bestimmte Zeit verstecken kann, dann das Fenster für eine weitere bestimmbare Zeit als vorderstes Fenster einblendet und anschließend wieder versteckt. Das Ein-/Ausblenden des Fensters soll dann quasi unendlich wiederholt werden. Alles, was man dazu benötigt, sind zwei Timer-Steuerelemente und eine API-Funktion, welche das Fenster an vorderster Stelle plaziert, so daß dieses nicht durch ein anderes Fenster verdeckt werden kann. Um das Beispiel auszuprobieren, erstellen Sie ein neues Projekt, plazieren auf die Form zwei Timer-Steuerelement und setzen die Form-Eigenschaft ShowInTaskbar auf False. Und hier der komplette Source-Code: Option Explicit ' zunächst die 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 Const SWP_NOSIZE = &H1 Private Const SWP_NOMOVE = &H2 Private Const HWND_TOPMOST = -1 Private Const HWND_NOTOPMOST = -2 ' Zeitangaben Private Const TimeHide = 1 ' versteckt x-Minuten Private Const TimeShow = 10 ' angezeigt x-Sekunden ' max. 90 Sekunden Private Sub Form_Load() ' Timer initialisieren Timer1.Tag = 0 Timer1.Interval = 60000 Timer1.Enabled = True Timer2.Interval = TimeShow * 1000 Timer2.Enabled = False Me.WindowState = 1 End Sub Private Sub Timer1_Timer() Timer1.Tag = Timer1.Tag + 1 If Timer1.Tag >= TimeHide Then Timer1.Tag = 0 Timer1.Enabled = False Me.WindowState = 0 Me.Show ' als obersters Fenster anzeigen SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, _ SWP_NOSIZE Or SWP_NOMOVE ' Timer2 aktivieren, so daß nach "TimeHide" Sekunden ' das Fenster wieder geschlossen wird Timer2.Enabled = True End If End Sub ' Fenster wieder schliessen Private Sub Timer2_Timer() Timer2.Enabled = False SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, _ SWP_NOSIZE Or SWP_NOMOVE Me.Hide ' Timer1 wieder aktivieren Timer1.Enabled = True End Sub Was passiert jetzt genau? Dieser Tipp wurde bereits 19.021 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Neu! sevPopUp 2.0 Dynamische Kontextmenüs! Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... |
||||||||||||||||
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. |