'+--------------------------------------------------------------------------+
'|                                                                          |
'|                                WinLIFT.INC                               |
'|                                                                          |
'|             WinLIFT simplified API constants and declarations.           |
'|                                                                          |
'|                               Version 4.17                               |
'|                                                                          |
'+--------------------------------------------------------------------------+
'|                                                                          |
'|                         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 : 11-04-2009                         |
'+--------------------------------------------------------------------------+

' 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
