FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Dialogos con bordes redondeados
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Dialogos con bordes redondeados
Posted: Tue Feb 03, 2015 01: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.
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: Dialogos con bordes redondeados
Posted: Tue Feb 03, 2015 03:19 PM
Hola, yo uso esta función :

Code (fw): Select all Collapse
// 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
Posts: 990
Joined: Wed Oct 19, 2005 02:17 PM
Re: Dialogos con bordes redondeados
Posted: Tue Feb 03, 2015 09:01 PM
Buenas noches,

yo uso lo siguiente, sacado, como no, de este foro :-)
Code (fw): Select all Collapse
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
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: Dialogos con bordes redondeados
Posted: 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!
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: Dialogos con bordes redondeados
Posted: Fri Feb 06, 2015 05: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.

Continue the discussion