Hi,
Can anyone tell me why this is not working?
#include "fivewin.ch"
FUNCTION test()
local oMWnd
DEFINE WINDOW oMWnd TITLE "test"
oMWnd:blClicked := {|nRow, nCol, nKeyFlags| ;
mzoom()}
ACTIVATE WINDOW oMWnd
RETURN nil
FUNCTION mzoom()
local oTimer
local oWnd
local nZoom := 2
DEFINE WINDOW oWnd TITLE "Zoom" FROM 0,0 TO 233,207 PIXEL NOMINIMIZE NOMAXIMIZE
DEFINE TIMER oTimer OF oWnd INTERVAL 50 ACTION GetColor(oWnd,nZoom)
oTimer:Activate()
ACTIVATE WINDOW oWnd
oTimer:DeActivate()
RETURN nil
FUNCTION getcolor(ownd,nzoom)
local hDeskTop := GetDC(0)
local a := GetCursorPos()
local nColor := GetPixel( hDeskTop, a[2], a[1] )
local hDC := oWnd:GetDC()
local nTop := 0
local nLeft := 0
local nWidth := 200
local nHeight := 200
StretchBlt( hDC, nLeft, nTop, nWidth, nHeight, hDeskTop, a[2]-(nWidth/(nZoom*2)), a[1]-(nHeight/(2*nZoom)), nWidth/nZoom, nHeight/nZoom, 13369376 )
oWnd:ReleaseDC()
ReleaseDC( 0, hDeskTop )
RETURN nil
#pragma BEGINDUMP
#include "windows.h"
#include "hbapi.h"
HB_FUNC( STRETCHBLT )
{
hb_retl( StretchBlt( (HDC) hb_parnl( 1 ) ,
hb_parni( 2 ) ,
hb_parni( 3 ) ,
hb_parni( 4 ) ,
hb_parni( 5 ) ,
(HDC) hb_parnl( 6 ) ,
hb_parni( 7 ) ,
hb_parni( 8 ) ,
hb_parni( 9 ) ,
hb_parni( 10 ) ,
(DWORD) hb_parnl( 11 )
) ) ;
}
#pragma ENDDUMP
If I change the test() to
FUNCTION test()
mzoom()
RETURN nil
Then it's working.
I want to call it from another window.
Thanks,
Marc