FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ejemplo de como Utilizar RoundBox()
Posts: 19
Joined: Fri Nov 11, 2005 08:12 PM
Ejemplo de como Utilizar RoundBox()
Posted: Fri Feb 10, 2006 02:16 PM

Alguien me podr铆a ayudar con un ejemplo de c贸mo utilizar RoundBox() quiero hacer en la impresi贸n cuadros pero que tengan las puntas redondeadas. :lol:

Posts: 219
Joined: Mon Dec 26, 2005 07:25 PM
Ejemplo de como Utilizar RoundBox()
Posted: Fri Feb 10, 2006 04:08 PM

Yo utilizo mucho RoundRect, de FW2.3, que supongo que ser谩 similar

Primero tienes que definir un PEN y un BRUSH, a mi me gusta definirlos fuera de la funci贸n que los utiliza, pues parece como si se quedaran en memoria. No te olvides borrarlos despu茅s. Tambi茅n puedes utilizar objetos predefinidos de Windows con GetStockObject (mira tu manual o fichero de ayudas).

BRS_AZ := CreateSolidBrush(CLR_BLUE)
PEN_RJ := CreatePen(0,5,CLR_HRED)

Despues los pasas a la funci贸n de pintado (junto al HDC del Dialogo por ejemplo con oDlg:bPainted := { |hDc| MiFuncion(hDc, BRS_AZ, PEN_RJ), o sin贸 lo defines dentro hDc := oDlg:GetDc())

Despu茅s llamas a la funci贸n:

MiFuncion(hDc, BRS_AZ, PEN_RJ),
LOCAL hOldB := SelectObject(hDc,BRS_AZ)
LOCAL hOldP := SelectObject(hDc,PEN_RJ)
*
// Regi贸n con borde rojo y fondo azul
RoundRect(hDc,5,2,1019,662,40,40) // ROUNDREC(Left,Top,Right,Bottom,Radio,Radio)

SelectObject(hDc,GetStockObject( 8 )) // Object( 8 ) => SIN PEN
// Regi贸n sin borde y fondo azul
RoundRect(hDc,5,2,1019,662,40,40)

SelectObject(hOldP)
SelectObject(hOldB) // se recuperan los objetos originales
RETURN NIL

Si has definido el conexto tu mismo con hDc := oDlg:GetDc(), al final del pintado tendr谩s que inhabilitarlo con oDlg:ReleasDc()

No te olvides de borrar los objetos creados, cuando no los necesites:
DeleteObject(BRS_AZ)
DeleteObject(PEN_RJ)

Es muy sencillo. Espero que te sirva.

Nos Gusta Programar

Continue the discussion