Silvio,
You may check where the mouse is clicked and change the mouse cursor to a one that also paints the portion that you want to move. When the mouse is released then you check where it is and change the drawing accordingly.
Silvio,
You may check where the mouse is clicked and change the mouse cursor to a one that also paints the portion that you want to move. When the mouse is released then you check where it is and change the drawing accordingly.
thanks but i not know how make it
can you create a small test to work on ?
Silvio,
Please implement the PolyPoligon() calls to draw the different parts of your drawing first, thanks
Then I will show you how to move them,
i not know how make it
Antonio,
this is the code
Function Main()
Local obtn,oWnd
Local oGrayBrush := CreateSolidBrush( GetSysColor(15) )
local hDC := GetDC()
DEFINE WINDOW oWnd TITLE "Testing button" ;
FROM 3, 3 TO 20, 80 ;
COLOR CLR_BLACK, GetSysColor( COLOR_BTNFACE )
obtn:=Arrow_SX(hDC,11, oWnd:nWidth - 25 + 2 , oGrayBrush)
ACTIVATE WINDOW oWnd
Return nil
static Function DrawPolygon( hDC, aPoints, nColor )
local n
local nLen := len( aPoints )
local hPen, hOldPen
if nColor != nil
hPen := CreatePen( PS_SOLID,1,nColor)
hOldPen := SelectObject( hDC, hPen )
endif
Moveto( hDC, aPoints[1,1], aPoints[1,2])
for n := 2 to nLen
Lineto( hDC, aPoints[n,1], aPoints[n,2])
next
Lineto( hDC, aPoints[1,1], aPoints[1,2])
if nColor != nil
SelectObject(hDC,hOldPen)
DeleteObject( hPen )
endif
return 0
Function Arrow_SX ( hDC,nTop,nLeft, nColor )
DrawPolygon( hDC, { {nLeft+4,nTop } ,;
{nLeft ,nTop+4 } ,;
{nLeft+4,nTop+8 } ,;
{nLeft+4,nTop } }, nColor )
return 0
How I can move it ?
Silvio,
You have to find the area where the mouse is clicked and then select a mouse cursor based on the underlying drawing