Page 1 of 1
draw with poligon
Posted: Tue Dec 26, 2006 11:03 pm
by Silvio
I must create this bitmap with poligon function so that it is divided in four various pieces so that I can move them with the mouse : the three bars and the small triangle (with drag and drop)
it' is possible ?
Posted: Sat Dec 30, 2006 5:25 pm
by Antonio Linares
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.
Posted: Sat Dec 30, 2006 11:52 pm
by Silvio
thanks but i not know how make it
can you create a small test to work on ?
Posted: Sun Dec 31, 2006 6:08 am
by Antonio Linares
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,
Posted: Mon Jan 01, 2007 11:33 pm
by Silvio
i not know how make it
Posted: Tue Nov 20, 2007 9:19 am
by Silvio
Antonio,
this is the code
#include "FiveWin.ch"
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 ?
Posted: Tue Nov 20, 2007 9:48 am
by Antonio Linares
Silvio,
You have to find the area where the mouse is clicked and then select a mouse cursor based on the underlying drawing