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.189 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. |
sevWizard für VB5/6 Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Tipp des Monats September 2024 Dieter Otter Übergabeparameter: String oder Array? Mit der IsArray-Funktion lässt sich prüfen, ob es sich bei einem Übergabeparameter an eine Prozedur um ein Array oder einer "einfachen" Variable handelt. Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
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. |