'+--------------------------------------------------------------------------+
'|                                                                          |
'|                                WinLIFT.INC                               |
'|                                                                          |
'|             WinLIFT simplified API constants and declarations.           |
'|                                                                          |
'|                               Version 4.44                               |
'|                                                                          |
'+--------------------------------------------------------------------------+
'|                                                                          |
'|                         Author Patrice TERRIER                           |
'|            8 Domaine de Rochagnon. 38800 Champagnier  FRANCE             |
'|                       http://www.zapsolution.com                         |
'|                    E-mail: pterrier@zapsolution.com                      |
'|                                                                          |
'|                   copyright (c) 2009 Patrice TERRIER                     |
'|                                                                          |
'+--------------------------------------------------------------------------+
'|                  Project started on : 02-24-2003                         |
'|                        Last revised : 01-29-2010                         |
'+--------------------------------------------------------------------------+

' Init the WinLIFT SkinEngine
  DECLARE FUNCTION skInitEngine LIB "WinLIFT.DLL" ALIAS "skInitEngine" (zSkinFile AS ASCIIZ, zUserKey AS ASCIIZ) AS LONG

' The main function to skin a window
  DECLARE FUNCTION skSkinWindow LIB "WinLIFT.dll" ALIAS "skSkinWindow" (BYVAL hWnd AS LONG, zSysButTip AS ASCIIZ) AS LONG

' Disable skinning of a specific control
  DECLARE FUNCTION skSkinDisable LIB "WinLIFT.dll" ALIAS "skSkinDisable" (BYVAL hWnd AS LONG) AS LONG

' Enable skinning of a specific control (use it only after a previous call to skSkinDisable)
  DECLARE FUNCTION skSkinEnable LIB "WinLIFT.dll" ALIAS "skSkinEnable" (BYVAL hWnd AS LONG) AS LONG

' Returns the "Skin" author name and copyright.
  DECLARE FUNCTION skAuthor LIB "WinLIFT.dll" ALIAS "skAuthor" () AS STRING

  %WM_SKGETMENUICON           = &H400 + &H7F  ' &H400 = %WM_USER, &H7F  = %WM_GETICON
                                              ' wParam = menu ID, lParam = %NULL
                                      
' Anchor child controls
  DECLARE FUNCTION skSetAnchorCtrl LIB "WinLIFT.dll" ALIAS "skSetAnchorCtrl" (BYVAL hWnd AS LONG, BYVAL AnchorMode AS LONG) AS LONG

' Anchor constants
  %ANCHOR_NONE                = 0
  %ANCHOR_WIDTH               = 1
  %ANCHOR_RIGHT               = 2
  %ANCHOR_CENTER_HORZ         = 3
  %ANCHOR_HEIGHT              = 4
  %ANCHOR_HEIGHT_WIDTH        = 5
  %ANCHOR_HEIGHT_RIGHT        = 6
  %ANCHOR_BOTTOM              = 7
  %ANCHOR_BOTTOM_WIDTH        = 8
  %ANCHOR_BOTTOM_RIGHT        = 9
  %ANCHOR_CENTER_HORZ_BOTTOM  = 10
  %ANCHOR_CENTER_VERT         = 11
  %ANCHOR_CENTER_VERT_RIGHT   = 12
  %ANCHOR_CENTER              = 13

'****************************************************************************
'*                THESE MUST BE USED WITH WINLIFT's MENU                    *
'****************************************************************************
' Replace the standard DrawMenuBar API, must be used with WinLIFT's menu
  DECLARE SUB skRedrawMenuBar LIB "WinLIFT.dll" ALIAS "skRedrawMenuBar" (BYVAL hWnd&)

' Note: WinLIFT's menu are not standard menu thus do not use the standard API GetMenu
' to retrieve a menu handle but the specific skGetMenu below.
' Instead of using skGetMenu you can also save the menu handle in a global variable and then
' use this global variable in lieu of the GetMenu API.
  DECLARE FUNCTION skGetMenu LIB "WinLIFT.dll" ALIAS "skGetMenu" (BYVAL hWnd&) AS LONG

' Retrieve the handle of the WinLIFT's menu container
  DECLARE FUNCTION skMenuContainer LIB "WinLIFT.dll" ALIAS "skMenuContainer" (BYVAL hWnd&) AS LONG
'****************************************************************************
'*                           END OF SKINNED MENU                            *
'****************************************************************************

  DECLARE FUNCTION skCreateDW LIB "WinLIFT.dll" ALIAS "skCreateDW" (BYVAL hParent AS LONG) AS LONG
  DECLARE SUB      skDestroyDW LIB "WinLIFT.dll" ALIAS "skDestroyDW" (BYREF hDW AS LONG)

  DECLARE FUNCTION skDialogAlert LIB "WinLIFT.dll" ALIAS "skDialogAlert" (zCaption AS ASCIIZ, zMessage AS ASCIIZ, zButton AS ASCIIZ) AS LONG
  DECLARE FUNCTION skDialogError LIB "WinLIFT.dll" ALIAS "skDialogError" (zCaption AS ASCIIZ, zMessage AS ASCIIZ, zButton AS ASCIIZ) AS LONG
  DECLARE FUNCTION skDialogInfo LIB "WinLIFT.dll" ALIAS "skDialogInfo" (zCaption AS ASCIIZ, zMessage AS ASCIIZ, zButton AS ASCIIZ) AS LONG
  DECLARE FUNCTION skDialogYesNo LIB "WinLIFT.dll" ALIAS "skDialogYesNo" (zCaption AS ASCIIZ, zMessage AS ASCIIZ, zButton AS ASCIIZ) AS LONG
  DECLARE FUNCTION skDialogInput LIB "WinLIFT.dll" ALIAS "skDialogInput" (zCaption AS ASCIIZ, zMessage AS ASCIIZ, zButton AS ASCIIZ) AS STRING

  DECLARE FUNCTION skVersion LIB "WinLIFT.dll" ALIAS "skVersion" () AS STRING

  DECLARE FUNCTION skCaptionFont LIB "WinLIFT.dll" ALIAS "skCaptionFont" () AS LONG
  DECLARE FUNCTION skFont LIB "WinLIFT.dll" ALIAS "skFont" () AS LONG
  DECLARE FUNCTION skFontBold LIB "WinLIFT.dll" ALIAS "skFontBold" () AS LONG
  DECLARE FUNCTION skFontDlg LIB "WinLIFT.dll" ALIAS "skFontDlg" () AS LONG

  DECLARE FUNCTION skButtonImage LIB "WinLIFT.dll" ALIAS "skButtonImage" (BYVAL hOwner AS LONG, zFullpathImageName AS ASCIIZ, BYVAL x AS LONG, BYVAL y AS LONG, BYVAL ButID AS LONG, BYVAL StateMax AS LONG) AS LONG
  DECLARE FUNCTION skBorder LIB "WinLIFT.dll" ALIAS "skBorder" (BYVAL hWnd AS LONG, BYVAL x AS LONG, BYVAL y AS LONG, BYVAL xW AS LONG, BYVAL yH AS LONG, BYVAL nID AS LONG, BYVAL nBorder AS LONG) AS LONG

  DECLARE FUNCTION skCreateToolTip LIB "WinLIFT.dll" ALIAS "skCreateToolTip" (BYVAL hObj AS LONG, zText AS ASCIIZ) AS LONG
  DECLARE SUB skSetToolTipText LIB "WinLIFT.dll" ALIAS "skSetToolTipText" (BYVAL hObj AS LONG, zText AS ASCIIZ)
  DECLARE FUNCTION skGetToolTipText LIB "WinLIFT.dll" ALIAS "skGetToolTipText" (BYVAL hObj AS LONG) AS STRING

  DECLARE FUNCTION skPushButtonImage LIB "WinLIFT.dll" ALIAS "skPushButtonImage" ( _
                   BYVAL hOwner AS LONG, _
                   zFullpathImageName AS ASCIIZ, _
                   zLabel AS ASCIIZ, _
                   BYVAL x AS LONG, _
                   BYVAL y AS LONG, _
                   BYVAL xW AS LONG, _
                   BYVAL yH AS LONG, _
                   BYVAL ButID AS LONG, _
                   BYVAL nAlignment AS LONG _
                   ) AS LONG

  DECLARE FUNCTION skSkinFolder LIB "WinLIFT.dll" ALIAS "skSkinFolder" () AS STRING


' // 4.73 Animated clock control
  DECLARE FUNCTION skClockCtrl LIB "WinLIFT.DLL" ALIAS "skClockCtrl" ( _
  BYVAL hOwner AS LONG, _            ' Handle of the window parent owner.
  zFullpathImageName AS ASCIIZ, _    ' Full path name to the clock image background.
  BYVAL x AS LONG, _                 ' X location of the clock control.
  BYVAL y AS LONG, _                 ' Y location of the clock control.
  BYVAL W AS LONG, _                 ' Width of the clock control.
  BYVAL H AS LONG, _                 ' Height of the clock control.
  BYVAL ButID AS LONG, _             ' Unique ID of the clock control.
  BYVAL ARGB1 AS LONG, _             ' The color to draw the Hour/Minute hands.
  BYVAL ARGB2 AS LONG, _             ' The color to draw the second hands.
  OPTIONAL BYVAL GMToffset AS LONG _ ' The GMT offset to be used.
  ) AS LONG
  %DISABLE_TIMER = 99 '// Use this value in the optional GMToffset parameter to disable local timer in case of animated background
