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.048 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. |
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... Tipp des Monats Mai 2024 Hermann Röttger Wochentage eines Datumsbereichs ermitteln Wochentage eines Datumsbereichs ermitteln, optional mit Feiertagsberechnung TOP Entwickler-Paket TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
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. |