Page 1 of 1

UrlLink no funciona la clausula Transparent

Posted: Wed Apr 11, 2018 6:44 pm
by manuelcalerosolis
UrlLink no funciona la clausula Transparent

Este es mi código.

METHOD ResourceLink() CLASS ComboSelector

::oUrlLink := TUrlLink():Redefine( ::idLink, ::oDialog, , , , , ::nColorUrlLink, ::nColorUrlLink, ::nColorUrlLink, .t. )
::oUrlLink:bAction := {|| ::ActionLink() }

RETURN ( Self )

Pero el control no se pinta transparente.

Gracias.

Re: UrlLink no funciona la clausula Transparent

Posted: Thu Apr 12, 2018 8:42 am
by Antonio Linares
Manuel,

El control está sobre un diálogo ?

Que brush usa el diálogo ?

Re: UrlLink no funciona la clausula Transparent

Posted: Thu Apr 12, 2018 9:15 pm
by manuelcalerosolis
Antonio

Si es sobre un dialogo.

No especifico ningún brush.

Gracias por tu interés.

Re: UrlLink no funciona la clausula Transparent

Posted: Fri Apr 13, 2018 9:58 am
by Antonio Linares
Manuel,

Este ejemplo funciona bien:

urllink.prg

Code: Select all

#include "FiveWin.ch"

function Main()

   local oDlg, oUrlLink

   DEFINE DIALOG oDlg RESOURCE "test" COLOR "N/B"

   oUrlLink = TUrlLink():Redefine( 100, oDlg,,, "www.fivetechsoft.com",, CLR_GRAY, CLR_WHITE, CLR_YELLOW, .T. )
   oUrlLink:bAction = { || MsgInfo( "click" ) }

   ACTIVATE DIALOG oDlg CENTERED

return nil
urllink.rc

Code: Select all

test DIALOG 273, 543, 343, 203
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "UrlLink transparent"
FONT 8, "Segoe UI"
{
   CONTROL "", 100, "static", 0 | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 120, 80, 80, 30
}
Image

Re: UrlLink no funciona la clausula Transparent

Posted: Mon Apr 16, 2018 5:21 pm
by manuelcalerosolis
Antonio,

Sera un problema de mi versión, a mi me lo pinta mal.

Uso la 17.0.5

Saludos.

Re: UrlLink no funciona la clausula Transparent

Posted: Mon Apr 16, 2018 5:23 pm
by Antonio Linares
Manuel,

Has probado el ejemplo que he publicado ?

Re: UrlLink no funciona la clausula Transparent

Posted: Mon Apr 16, 2018 6:58 pm
by karinha

Code: Select all

#include "FiveWin.ch"
#include "URLLink.ch"

#define COLOR_BTNFACE  15

//----------------------------------------------------------------------------//

function Main()

   local nColor := GetSysColor( COLOR_BTNFACE )
   local oDlg, oFont, oFnt1, oFnt2, oBmp

   DEFINE FONT oFont NAME GetSysFont() SIZE 0, -12
   DEFINE FONT oFnt1 NAME "ARIAL" SIZE 0, -20 BOLD
   DEFINE FONT oFnt2 NAME "ARIAL" SIZE 0, -14 BOLD

   // no use TRANSPARENT, no funciona en FWHX1701.
   DEFINE DIALOG oDlg RESOURCE "Main" FONT oFont ;
          COLORS( nRGB( 192, 192, 192 ), nRGB( 45, 121, 147 ) )  // "GreenBlue"
       //   GRADIENT( GradDlgs( "GreenBlue" ) )

   REDEFINE BITMAP oBmp ID 301 OF oDlg RESOURCE "Fivewin"

   oBmp:cToolTip := "Logotipo de Fivewin"

   REDEFINE SAY ID 101 PROMPT "FW/FWH/FW++/FWC3" FONT oFnt1 ;
            COLOR CLR_BLACK, nColor OF oDlg

   REDEFINE SAY ID 102 PROMPT "Fivetech © 1993-2017" FONT oFnt2 ;
            COLOR CLR_MAGENTA, nColor OF oDlg

   REDEFINE SAY ID 103 ;
            PROMPT "La mejor librería para crear con CA-Clipper " + ;
                   "auténticas aplicaciones Windows. Es muy fácil " + ;
                   "de usar y los resultados son excelentes. " + ;
                   "Visite la página oficial de Fivewin:" ;
            FONT oFont OF oDlg

   REDEFINE URLLINK ID 104 URL "www.fivetechsoft.com" OF oDlg ;
            TOOLTIP "Sitio oficial de FiveTech"

   REDEFINE SAY ID 105 ;
            PROMPT "Fivewin para Harbour le ofrece el poder de " + ;
                   "los 32 bits. Además, ya está disponible FW " + ;
                   "para el nuevo compilador C3. " + ;
                   "Contacte con nosotros enviando un e-mail a:" ;
            FONT oFont OF oDlg

   REDEFINE URLLINK ID 106 URL "mailto:alinares@fivetechsoft.com" OF oDlg ;
            TOOLTIP "E-mail de FiveTech"

   REDEFINE BUTTON ID 201 ACTION ( oDlg:End() )

   oDlg:lHelpIcon := .f.

   ACTIVATE DIALOG oDlg CENTER ;
            VALID ( oFont:End(), oFnt1:End(), oFnt2:End(), .t. )

return nil

//----------------------------------------------------------------------------//
// Using:

// GradDlgs( "BlueGreen" )

//----------------------------------------------------------------------------//
// Gradient for Dialogs: Thanks to Rick Lipkin
//----------------------------------------------------------------------------//

Function GradDlgs( cTheme )

   local aGrad    := {}
   DEFAULT cTheme := ""

   if Valtype( cTheme ) == "C"
      cTheme  := Upper( cTheme )
      Do Case
         Case cTheme = Upper( "SolidWhite" )
            aGrad := { { 0.50, nRGB( 255, 255, 255 ), nRGB( 255, 255, 255 ) } }
         Case cTheme = Upper( "BlueGreen" )
            aGrad := { { 1.00, 14671839, 7419904 }, { 1.00, 7419904, 14671839 } }
         Case cTheme = Upper( "SolidGreenBlue" )
            aGrad := { { 0.01, 9994298, 9994298 },{ 0.01, 9994298, 9994298 } }
         Case cTheme = Upper( "SolidDarkBlue" )
            aGrad := { { 0.50,4720905,4720905 },{ 0.50,4720905,4720905 } }
         Case cTheme = Upper( "SolidBlue" )
            aGrad := { { 0.01, 16711680, 16711680 },{ 0.01, 16711680, 16711680 } }
         Case cTheme = Upper( "DarkBlue" )
            aGrad := { { 0.0, 8388608, 13619151 },{ 0.0, 13619151, 8388608 } }
         Case cTheme = Upper( "LightGreen" )
            aGrad := { { .50, nRGB(210,235,216), nRGB( 255, 255, 255 ) } }
         Case cTheme = Upper( "LightBlue" )
            aGrad := { { .50, nRGB( 201, 217, 237 ), nRGB( 231, 242, 255 ) } }
         Case cTheme = Upper( "LightGrey" )
            aGrad := { { .50, nRGB( 216, 216, 216 ), nRGB( 255, 255, 255 ) } }
         Case cTheme = Upper( "Standard" )
            aGrad := { { .50, nRGB( 236, 233, 216 ), nRGB( 255, 255, 255 ) } }
         Case cTheme = Upper( "DarkGrey" )
            aGrad := { { 0.87, 16777215, 11513775 },{ 0.87,11513775, 16777215 } }
         Case cTheme = Upper( "SolidGrey" )
            aGrad := { { .50, nRGB( 233, 233, 233 ), nRGB( 233, 233, 233 ) } }
         Case cTheme = Upper( "SolidChoral" )
            aGrad := { { 0.01,8388736,8388736 },{ 0.01,8388736,8388736 } }
         Case cTheme = Upper( "LightYellow" )
            aGrad := { { 0.01,8440801,16777215 },{ 0.75,16777215,8440801 } }
         Case cTheme = Upper( "GreenBlue" )
            aGrad := { { .50, nRGB( 192, 192, 192 ), nRGB( 45, 121, 147 ) } }
         //Case cTheme = ""
      EndCase
   else
      if Valtype( cTheme ) == "A"
         aGrad   := cTheme
      endif
   endif
   if !Empty( aGrad )
      SetDlgGradient( aGrad )
   endif
Return nil

/* testurl.rc
#include "..\include\WinApi.ch"

FIVEWIN BITMAP "..\bitmaps\fivewin.bmp"

MAIN DIALOG 16, 11, 327, 187
STYLE DS_MODALFRAME | 0x4L | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Acerca de Fivewin 2.4 - Marzo, 2004"
FONT 8, "MS Sans Serif"
{
 CONTROL "", 301, "TBitmap", 0 | WS_CHILD | WS_VISIBLE, 10, 10, 155, 155
 CTEXT "", 101, 175, 10, 142, 12
 CTEXT "", 102, 175, 30, 142, 12
 LTEXT "", 103, 175, 58, 142, 36
 LTEXT "", 104, 210, 95, 72, 9
 LTEXT "", 105, 175, 109, 142, 36
 LTEXT "", 106, 192, 145, 72, 9
 DEFPUSHBUTTON "&Aceptar", 201, 255, 164, 62, 15
}

FIVEWIN ICON "..\icons\fivewin.ico"

#ifndef __64__
  1 24 ".\WinXP\WindowsXP.Manifest"
#endif

#ifdef __64__
   1 24 "WinXP/WindowsXP.Manifest64"
#endif
*/
 

Re: UrlLink no funciona la clausula Transparent

Posted: Mon Apr 16, 2018 7:00 pm
by horacio
Es un problema de la versión. He compilado el ejemplo y no se transparenta el control. Uso Fwh 17.01.

Saludos

Re: UrlLink no funciona la clausula Transparent

Posted: Mon Apr 16, 2018 7:10 pm
by nanoespinoza
Estimado; yo uso la versión 1709 y tengo un comportamiento similar con TUrlLink.

Saludos

Fernando Espinoza A.

Re: UrlLink no funciona la clausula Transparent

Posted: Tue Apr 17, 2018 9:41 pm
by manuelcalerosolis
Antonio,

El problema aparece si el control esta dentro de un folder.

Te mando la prueba.

Image

https://www.dropbox.com/s/9oyy49w35yxoj ... t.gif?dl=0

Code: Select all


FUNCTION Test()
 
   local oUrlLink
   local oUrlLinkFolder
   local oDlg
   local oFld

   DEFINE DIALOG oDlg RESOURCE "test" COLOR "N/B"

   REDEFINE FOLDER oFld ;
         ID       500 ;
         OF       oDlg ;
         PROMPT   "&Folder"   ;
         DIALOGS  "TEST_FOLDER"

   oUrlLink = TUrlLink():Redefine( 100, oDlg,,, "www.fivetechsoft.com",, CLR_GRAY, CLR_WHITE, CLR_YELLOW, .T. )
   oUrlLink:bAction = { || MsgInfo( "click" ) }

   oUrlLink = TUrlLink():Redefine( 100, oFld:aDialogs[1],,, "www.gestool.com",, CLR_GRAY, CLR_WHITE, CLR_YELLOW, .T. )
   oUrlLink:bAction = { || MsgInfo( "click" ) }

   ACTIVATE DIALOG oDlg CENTERED  

RETURN nil

 
Saludos