Dialogos con bordes redondeados

Dialogos con bordes redondeados

Postby JoseAlvarez » Tue Feb 03, 2015 1:20 pm

Saludos Amigos integrantes del Foro. Gusto en Saludarlos de Nuevo. En esta oportunidad me gustaría saber si alguno tiene conocimiento de como hacer los dialogos con bordes redondeados en FW/XH para windows 8. Si alguien sabe hacerlo o si sabe donde puedo encontrar documentación al respecto estaría full agradecido. Un abrazo a todos.
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 752
Joined: Sun Nov 09, 2014 5:01 pm

Re: Dialogos con bordes redondeados

Postby AngelSalom » Tue Feb 03, 2015 3:19 pm

Hola, yo uso esta función :

Code: Select all  Expand view
// Redondear diálogo de entrada
static function RoundCorners( oDlg , nCuanto)

   local aRect, hRgn

   DEFAULT nCuanto:=25
   
   aRect       := GetClientRect( oDlg:hWnd )
   hRgn        := CreateRoundRectRgn( aRect, nCuanto, nCuanto)  // nCuanto es la 'profundidad' del redondeo
   SetWindowRgn( oDlg:hWnd, hRgn )
   DeleteObject( hRgn )

return nil


La llamas en el ON INIT del ACTIVATE DIALOG pasándole como parámetro el diálogo y la cantidad de "redondez" que quieres en los bordes, por defecto 25 y listos.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 708
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Dialogos con bordes redondeados

Postby Baxajaun » Tue Feb 03, 2015 9:01 pm

Buenas noches,

yo uso lo siguiente, sacado, como no, de este foro :mrgreen:
Code: Select all  Expand view

static function RoundCorners( oDlg )

   local aRect, hWnd, hRgn

   aRect       := GetClientRect( oDlg:hWnd )
   hRgn        := CreateRoundRectRgn( aRect, 40, 40 )
   SetWindowRgn( oDlg:hWnd, hRgn )
   DeleteObject( hRgn )

return nil


#pragma BEGINDUMP
#include "Windows.h"
#include <mapiwin.h>
#include "hbApi.h"

HB_FUNC( SETWINDOWRGN )
{
  hb_retnl( SetWindowRgn( ( HWND ) hb_parnl( 1 ), ( HRGN ) hb_parnl( 2 ), TRUE ) );
}

#pragma ENDDUMP

Desde esta líneas dar las gracias a su autor (no se quien es).

Saludos

 
User avatar
Baxajaun
 
Posts: 962
Joined: Wed Oct 19, 2005 2:17 pm
Location: Gatika. Bizkaia

Re: Dialogos con bordes redondeados

Postby joseluisysturiz » Wed Feb 04, 2015 12:11 am

Probado y funciona perfecto...pero y si quisiera solo los bordes de abajo o solo los de arriba.? saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Dialogos con bordes redondeados

Postby JoseAlvarez » Fri Feb 06, 2015 5:25 pm

Excelente..!

Quiero agradecer a los usuarios AngelSalom y Baxajaun por la ayuda prestada.. funcionó de maravilla

Es un agrado el alto nivel de camaradería en el foro.

Un abrazo !!
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 752
Joined: Sun Nov 09, 2014 5:01 pm


Return to FiveWin para Harbour/xHarbour

Who is online

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