RoundRect()

Post Reply
User avatar
Carles
Posts: 937
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona
Contact:

RoundRect()

Post by Carles »

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

   ::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..."

https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
JoseLuis
Posts: 359
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Post by JoseLuis »

Yo lo hago así:

Code: Select all

    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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Carles,

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

Antonio Linares
www.fivetechsoft.com
User avatar
Carles
Posts: 937
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona
Contact:

Post by Carles »

Voy a probar. Gracias
Salutacions, saludos, regards

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

https://modharbour.app
https://modharbour.app/compass
https://forum.modharbour.app
Post Reply