Tvorba SPLASH obrazovky

Postup:
Založte projekt a do modulu deklarujte následující konstanty a API funkce:

Public Const SWP_NOMOVE = 2
Public Const SWP_NOSIZE = 1
Public Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2

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

Declare Function ShowWindow Lib "User32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
* každá deklarace musí být napsána celá na samostatném řádku

Postup tvorby Splash obrazovky:

  • Založte nový formulář, který bude mít následující parametry.
    • BorderStyle = 0
    • Caption = ""
    • Icon = (none)
    • Name = "frmSplash"
  • Do formuláře přidejte PictureBox s těmito parametry:
    • Appearance = 0
    • AutoSize = True
    • BorderStyle = 1
    • Left = 0
    • Name = "Panel"
    • Picture = Vaše bitmapa s logem
    • Top = 0
  • Na událost Form_Load formuláře vložte tento kód
    • success% = SetWindowPos(Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)
      'nastaví Splash obrazovku jako TopMost - nejhořejší

Přepokládejme, že Váš původní spouštěcí formulář se jmenoval frmMain. Potom upravte jeho událost Form_Load následovně:

  • na začátek vložte tento kód:
    • Me.Show 'váš formulář se zobrazí
  • jako úplně poslední řádek vložte tento kód:
    • Unload frmSplash 'skryje Splash obrazovku

Nyní v modulu založte novou proceduru, která se bude jmenovat Main. Tuto proceduru označte v Options projektu jako StartUp proceduru. Kód procedury je následující:

Public Sub Main()

	Dim success As Long

	Screen.MousePointer = 11
	'myš jako hodiny
	frmSplash.Width = frmSplash.Panel.Width
	frmSplash.Height = frmSplash.Panel.Height
	'velikost formuláře je stejná jako velikost bitmapy s logem
	success = ShowWindow(frmSplash.hwnd, 4)
	'zobrazení Splash obrazovky
	frmMain.Show
	'zobrazení hlavního formuláře

End Sub

Zpět

Autor: The Bozena