Dúvida:
É a bostaurus que não aceita handle em formato handle, ou esse handle não é handle?
Pelo menos que eu saiba, handle não é numérico....
Nota: a imagem cortou, ValType() retorna "P"

Moderador: Moderadores
#include "inkey.ch"
#include "bostaurus.ch"
#include "i_color.ch"
#define MYWIN_HANDLE __xhb_p2n( wvgSetAppWindow():hWnd )
FUNCTION MAIN
LOCAL nCont := 6, A := " ", GetList := {}
wvt_SetGui( .T. )
SetMode(25,80)
CLS
DO WHILE .T.
@ 1, 1 GET A
READ
IF LastKey() == K_ESC
EXIT
ENDIF
nCont := iif( nCont >= 6, 1, nCont + 1 )
? MYWIN_HANDLE
? ValType( MYWIN_HANDLE )
Inkey(0)
BT_ClientAreaInvalidateAll( MYWIN_HANDLE )
Proc_On_Paint( nCont )
ENDDO
RETURN NIL
PROCEDURE Proc_ON_PAINT( Cont )
LOCAL Width := BT_ClientAreaWidth( MYWIN_HANDLE )
LOCAL Height := BT_ClientAreaHeight( MYWIN_HANDLE )
LOCAL hDC, BTstruct, nAlignText, nTypeText
hDC = BT_CreateDC ( MYWIN_HANDLE, BT_HDC_INVALIDCLIENTAREA, @BTstruct)
DO CASE
CASE cont = 1
BT_DrawGradientFillHorizontal (hDC, 0, 0, Width/2, Height, BLACK, BLUE)
BT_DrawGradientFillHorizontal (hDC, 0, Width/2, Width/2, Height, BLUE, BLACK)
CASE cont = 2
BT_DrawGradientFillVertical (hDC, 0, 0, Width, Height/2, BLACK, RED)
BT_DrawGradientFillVertical (hDC, Height/2, 0, Width, Height/2, RED, BLACK)
CASE cont = 3
BT_DrawGradientFillVertical (hDC, 0, 0, Width, Height/2, RED, GREEN)
BT_DrawGradientFillVertical (hDC, Height/2, 0, Width, Height/2, GREEN, BLUE)
CASE cont = 4
BT_DrawGradientFillHorizontal (hDC, 0, 0, Width/2, Height, GREEN, BLUE)
BT_DrawGradientFillHorizontal (hDC, 0, Width/2, Width/2, Height, BLUE, RED)
CASE cont = 5
BT_DrawGradientFillVertical (hDC, 0, 0, Width, Height, WHITE, BLACK)
CASE cont = 6
BT_DrawGradientFillHorizontal (hDC, 0, 0, Width, Height, {100,0,123}, BLACK)
END CASE
nTypeText := BT_TEXT_TRANSPARENT + BT_TEXT_BOLD + BT_TEXT_ITALIC + BT_TEXT_UNDERLINE
nAlignText := BT_TEXT_CENTER + BT_TEXT_BASELINE
BT_DrawText (hDC, Height/2-3, Width/2+3, "The Power of HMG", "Comic Sans MS", 42, GRAY, BLACK, nTypeText, nAlignText ) // Shadow Effect
BT_DrawText (hDC, Height/2, Width/2, "The Power of HMG", "Comic Sans MS", 42, YELLOW, BLACK, nTypeText, nAlignText )
BT_DeleteDC (BTstruct)
RETURN
FUNCTION CallDll32(...); RETURN CallDll(...)
FUNCTION Win_P2N(a,...); RETURN __xhb_p2n( a )
//FUNCTION hb_IsNil(a); RETURN a == NIL
FUNCTION hb_OsNewLine(); RETURN hb_Eol()
FUNCTION MAIN
LOCAL nCont := 6, A := " ", GetList := {}, oWin := { NIL, NIL, NIL, NIL }, oJanela
wvt_SetGui( .T. )
SetMode(25,80)
CLS
oWin[ 1 ] := wvgtstRectangle():New( , , { -1, -1 }, { -12, -40 } )
oWin[ 1 ]:Create()
oWin[ 2 ] := wvgtstRectangle():New( , , { -1, -41 }, { -12, -40 } )
oWin[ 2 ]:Create()
oWin[ 3 ] := wvgtstRectangle():New( , , { -13, -1 }, { -12, -40 } )
oWin[ 3 ]:Create()
oWin[ 4 ] := wvgtstRectangle():New( , , { -13, -41 }, { -12, -40 } )
oWin[ 4 ]:Create()
DO WHILE .T.
@ 1, 1 GET A
READ
IF LastKey() == K_ESC
EXIT
ENDIF
//? MYWIN_HANDLE
//? ValType( MYWIN_HANDLE )
Inkey(0)
FOR EACH oJanela IN oWin
nCont := iif( nCont >= 6, 1, nCont + 1 )
BT_ClientAreaInvalidateAll( __xhb_p2n( oJanela:hWnd ) )
Proc_On_Paint( nCont, __xhb_p2n( oJanela:hWnd ) )
NEXT
ENDDO
RETURN NIL
Usuários vendo este fórum: Nenhum usuário registrado online e 11 visitantes