FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour draw with poligon
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
draw with poligon
Posted: Tue Dec 26, 2006 11:03 PM

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 ?
Best Regards, Saludos



Falconi Silvio
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
draw with poligon
Posted: Sat Dec 30, 2006 05:25 PM

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.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
draw with poligon
Posted: Sat Dec 30, 2006 11:52 PM

thanks but i not know how make it
can you create a small test to work on ?

Best Regards, Saludos



Falconi Silvio
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
draw with poligon
Posted: Sun Dec 31, 2006 06:08 AM

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,

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
draw with poligon
Posted: Mon Jan 01, 2007 11:33 PM

i not know how make it

Best Regards, Saludos



Falconi Silvio
Posts: 3107
Joined: Fri Oct 07, 2005 06:28 PM
draw with poligon
Posted: Tue Nov 20, 2007 09:19 AM

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 ?

Best Regards, Saludos



Falconi Silvio
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
draw with poligon
Posted: Tue Nov 20, 2007 09:48 AM

Silvio,

You have to find the area where the mouse is clicked and then select a mouse cursor based on the underlying drawing

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion