Dobrej pokec   Lišanská šlapka   MSDN   VB na Microsoft.cz   NCHAT Nový design
   Portál  O firmě  Profil  Reference  Produkty  Odkazy  Diskuse  Tisková verze 



  Novinky e-mailem
Pokud chcete být informováni o změnách ,přihlašte se k odběru novinek!
  
  
  Nejčtenější články
 Seznam všech českých hubů abecedně. (32118)
 Seznam hubů nad 100 uživatelů (20830)
 Konfigurovatelné rozbalovací menu (17447)
 Jak na makra (14330)
 Rozbalovací menu v JavaScriptu (2.) (12654)
  Nejstahovanější soubory
 Action Meter (1846)
 Slovní Fotbal (777)
 IE Boss Guard (484)
 zdroják slovní fotbal (383)
 Folder Watcher (370)
  Anketa

  Nabídka portálu

 Adobe Premiere
    Jak se dá udělat
 Alternativní prohlížeče
    FireFox
 ASP
    Tipy a triky
 Direct Connect
    Huby
    Scripty pro HUB
    Tipy a triky CZDC++
 Game Maker
    Tipy a triky
 Hry
    Akční
    Logické
 HTML
    Scripting (VBS,JS)
    Tipy a triky
 Internet
    Užitečné triky
 Microsoft Office
    Tipy, triky, návody
    Užitečná makra
    VBA Tipy a triky
 MS SQL Server
    Nastavení
    Seriály
    Tipy a triky
 Multimedia
    Návody
 Oracle
    PL/SQL
 PHP
    Jak na to
    Tipy a triky
 Užitečné odkazy
    Grafické programy
    Programátorské
 Visual Basic
    DirectX
    Formuláře
    Jak se dá udělat ...
    Užitečné funkce
    Win32Api
    Zdroje
 Visual Basic .NET
    Užitečné funkce
 Vtípky
    Vtipy a anekdnoty
 Vypalování
    DVD Shrink
    Tipy a triky
 Windows
    Jak se dá ...
    Tipy a triky pro XP
    Triky pro IE


Nabídka portálu se při zobrazení článku přesouvá na konec pravého sloupce nabídek.

 ShowInTaskbar za běhu aplikace

Autor: Kočí Marek
Zdroj: 
Vytvořeno: 10.1.2003
Publikováno: 10.1.2003
Čtenářů: 1992
Unikátních: 1964


Přepínání zda zobrazovat/nezobrazovat formulář na taskbaru Windows za běhu aplikace pomocí API funkcí

Potřebujete za běhu své aplikace přepínat formulář, který se zobrazuje na taskbaru, nebo prostě jen občas vypnout nebo zapnout zobrazení dle potřeby. Ve VB je standardně funkce formuláře ShowInTaskBar, ale ta funguje jen v design módu a za běhu je nepoužitelná. Přes Windows API to však samozřejmě jde.

Ukázka

  1. Vytvořte ve VB Standard EXE projekt.
  2. Na formulář vložte tlačítko (Command1)
  3. Vložte následující kód:
Option Explicit

Private Const WS_EX_APPWINDOW = &H40000
Private Const GWL_STYLE = (-16)
Private Const GWL_EXSTYLE = (-20)
Private Const SW_HIDE = 0
Private Const SW_NORMAL = 1

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 Declare Function FindWindow _
               Lib "user32" _
               Alias "FindWindowA" _
               (ByVal lpClassName As String, _
               ByVal lpWindowName As String) _
               As Long
Private Declare Function ShowWindow _
               Lib "user32" _
               (ByVal hwnd As Long, _
               ByVal nCmdShow As Long) _
               As Long

Sub Show_Hide_TaskBar(ByRef MyWindow As Object)
  Dim WindowLong As Long
  ShowWindow MyWindow.hwnd, _
             SW_HIDE
  WindowLong = GetWindowLong(MyWindow.hwnd, _
                             GWL_EXSTYLE)
  SetWindowLong MyWindow.hwnd, _
                GWL_EXSTYLE, _
                WindowLong Xor WS_EX_APPWINDOW
  ShowWindow MyWindow.hwnd, SW_NORMAL
End Sub

Private Sub Command1_Click()
  Show_Hide_TaskBar Me
End Sub

Máte hotovo, po prvním stisku tlačítka formulář z taskbaru zmizí, při druhém stisknutí se objeví. Jak jednoduché, doporučuji to zapouzdřit do modulu a používat pro všechny formuláře v aplikaci.




Příspěvky ke článku:



© Swit.cz, Marek Kočí 2003