RoundRect()

RoundRect()

Postby Carles » Tue Feb 27, 2007 12:00 pm

Hola,

Alguien sabe como rellenar de un color un rectangulo redondeado. He probado con el brush pero me rellena el rectangulo completo

Code: Select all  Expand view  RUN
   ::GetDc()

   hPen := CreatePen( 0,  2, CLR_BLACK )
   oBrush := TBrush():New( ,  CLR_RED )
   hOldPen := SelectObject( ::hDc, hPen )
   hOldBrush := SelectObject( ::hDC, oBrush:hBrush )

   Roundrect( ::hDC, 0, 0, ::nWidth, ::nHeight,  25, 25 )

   SelectObject( ::hDc, hOldPen )
   SelectObject( ::hDC, hOldBrush )

   DeleteObject( hPen )
   oBrush:End()

   ::ReleaseDc()


Gracias
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
User avatar
Carles
 
Posts: 1141
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Postby JoseLuis » Tue Feb 27, 2007 12:24 pm

Yo lo hago así:
Code: Select all  Expand view  RUN
    CajaRound(co+17,                            ;
              li+0.5,                            ;
              co+20,        ;
              li+1.5 -0.1,50,50,oPrn,oPen1,oBrush1)
Function CAJAROUND(nArriba,nIzq,nAbajo,nDerecha,a,b,oPrn,oPen,oBrush)
LOCAL hOldPen, xCor := {} , yCor := {}
local hOldBrush
// Pasamos coordenadas de cms a pixel
xCor := oPrn:Cmtr2Pix(nArriba,nIzq)
yCor := oPrn:Cmtr2Pix(nAbajo,nDerecha)
// Guardamos el Lapiz y la brocha que teniamos
hOldPen   := SelectObject( oPrn:hDcOut, oPen:hPen )
hOldBrush := SelectObject( oPrn:hDcOut, oBrush:hBrush )
//Dibujamos el rectangulo redondeado
roundrect(oPrn:hdcOut,xCor[1],xCor[2],yCor[1],yCor[2],a,b)
// y  seleccionamos el que habiamos guardado
selectObject( oPrn:hDcOut, hOldPen )
selectObject( oPrn:hDcOut, hOldBrush )
RETURN NIL


Espero te sirva

Saludos

Jose Luis
JoseLuis
 
Posts: 426
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Postby Antonio Linares » Tue Feb 27, 2007 12:27 pm

Carles,

Prueba a usar FloodFill() ó su equivalente en 32 bits ExtFloodFill()
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42150
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Carles » Tue Feb 27, 2007 1:47 pm

Voy a probar. Gracias
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
User avatar
Carles
 
Posts: 1141
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 54 guests