ajustar una imagen en un dialogo como background

User avatar
wilsongamboa
Posts: 600
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

ajustar una imagen en un dialogo como background

Post by wilsongamboa »

Buenos dias estoy tratado sin exito de ajustar una imagen en un dialogo

Code: Select all | Expand

 DEFINE ICON oIco FILE ".\jnet.ico"
    //DEFINE BRUSH oBrush FILENAME '.\logo.jpg'

    define dialog oDlg title 'ingreso de usuarios a la AppCobros ( credenciales) ' + netname() SIZE 400, 400 ICON oIco pixel transparent STYLE nOr( DS_SYSMODAL, DS_MODALFRAME ) //brush oBrush

    //@ 0, 0 BITMAP oBrush FILENAME '.\logo.jpg' ADJUST NOBORDER OF oDlg  SIZE 600,800 PIXEL

    @005,05 say aSay [ 01 ] prompt 'login'          of oDlg size  70,15 pixel
    @025,05 say aSay [ 02 ] prompt 'password'       of oDlg size  70,15 pixel
    @045,05 say aSay [ 03 ] prompt 'num_empre'      of oDlg size  70,15 pixel
    @065,05 say aSay [ 04 ] prompt 'gestion'        of oDlg size  70,15 pixel
    @085,05 say aSay [ 05 ] prompt 'e_cod'          of oDlg size  70,15 pixel

    @005,75 get aGet [ 01 ] var hData['login']     of oDlg picture '@!'    size  090,15 pixel valid !empty( hData['login']         )
    @025,75 get aGet [ 02 ] var hData['password']  of oDlg picture '@!'    size  090,15 pixel valid !empty( hData['password']      ) .and. veaLogin( hData['login'], hData['password'] )
    @045,75 get aGet [ 03 ] var hData['num_empre'] of oDlg picture '999'   size  090,15 pixel valid !empty( hData['num_empre']     )
    @065,75 get aGet [ 04 ] var hData['gestion']   of oDlg picture '@!'    size  090,15 pixel valid !empty( hData['gestion']       )
    @085,75 get aGet [ 05 ] var hData['e_cod']     of oDlg picture '@!'    size  060,15 pixel valid !empty( hData['e_cod']         ) .and. ;
    veaE_Cod( hData['login'], hData['password'], hData['num_empre'], hData['gestion'], hData['e_cod'] )

    @145,05   BUTTON aBtn [ 01 ] prompt 'Grabar'        size 60, 15 action ( lGrabar := .t., oDlg:end() ) of oDlg pixel
    @145,105  BUTTON aBtn [ 02 ] prompt 'Cancelar'      size 60, 15 action ( lGrabar := .f., oDlg:end() ) of oDlg pixel

    activate dialog oDlg Center valid( oIco:end(), .t. ) on init BuildBrush( oDlg ) 


function BuildBrush( oDlg )

   local oImage, oBrush, aRect := oDlg:GetRect()

   DEFINE IMAGE oImage FILENAME ".\logo.jpg"

   oBrush   := TBrush():new( ,,,, ResizeBmp( oImage:hBitmap,  aRect[4], aRect[3], .T.,  ) )  // 1 = stretch, 2 : fitoutside, 3:fitinside
   oImage:End()
   oDlg:SetBrush( oBrush )
   oBrush:End()

return nil
 
talvez una ayuda agradeceria
saludos
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
karinha
Posts: 7885
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: ajustar una imagen en un dialogo como background

Post by karinha »

Intenta asi:

Code: Select all | Expand

// C:\FWH\SAMPLES\BTNDIAGO.PRG

#include "fivewin.ch"

STATIC oDlg

FUNCTION test()

   LOCAL oBtn, hBmp := LinesBmp()
   LOCAL lEnabled := .T.

   DEFINE DIALOG oDlg SIZE 200, 200 PIXEL TRUEPIXEL

   /*
   @  40, 60 BTNBMP oBtn ;
      FILE "..\bitmaps\pngs\image1.png", "", hBmp, "" ;
      SIZE 64, 64 PIXEL FLAT NOROUND GDIP WHEN lEnabled OF oDlg
   */

   @  40, 60 BTNBMP oBtn ;
      FILE ".\LOGO.jpg", "", hBmp, "" ;
      SIZE 64, 64 PIXEL FLAT NOROUND GDIP WHEN lEnabled OF oDlg

   oBtn:nClrBorder := RGB( 195, 195, 185 )

   oBtn:bClrGrad = {| lInvert | If( ! lInvert, ;
      { { 0.25, RGB( 245, 245, 235 ),  RGB( 250, 250, 245 ) }, ;
      { 0.75,  RGB( 250, 250, 245 ), RGB( 245, 245, 235 ) } }, ;
      { { 0.25,  RGB( 250, 250, 245 ), RGB( 245, 245, 235 ) }, ;
      { 0.75, RGB( 245, 245, 235 ),  RGB( 250, 250, 245 ) } } ) }

   @ 130, 60 CHECKBOX lEnabled PROMPT "Enabled" ;
      SIZE 80, 20 PIXEL OF oDlg

   ACTIVATE DIALOG oDlg CENTERED

   RETURN NIL

STATIC FUNCTION LinesBmp()

   LOCAL hBmp, oBrush

   // DEFINE BRUSH oBrush STYLE BDIAGONAL COLOR CLR_GRAY STRETCH // RESIZE

   DEFINE BRUSH oBrush STYLE BDIAGONAL COLOR nRGB( 000, 100, 255 ) STRETCH // RESIZE

   // DEFINE BRUSH oBrush COLOR nRGB( 250, 213, 174 ) STYLE HORIZONTAL RESIZE
   // DEFINE BRUSH oBrush COLOR nRGB( 192, 192, 192 ) STYLE HORIZONTAL

   hBmp  := FW_MakeYourBitmap( 95, 95, < | hDC, w, h |
      FillRect( hDC, { 0, 0, 94, 94 }, oBrush:hBrush )

      RETURN NIL
   > )

   RELEASE BRUSH oBrush

RETURN hBmp

// FIN / END
 
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
VitalJavier
Posts: 242
Joined: Mon Jun 10, 2013 6:40 pm

Re: ajustar una imagen en un dialogo como background

Post by VitalJavier »

Buen dia

Image
[/img]

Algo Asi ??
User avatar
wilsongamboa
Posts: 600
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: ajustar una imagen en un dialogo como background

Post by wilsongamboa »

si gracias
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
karinha
Posts: 7885
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: ajustar una imagen en un dialogo como background

Post by karinha »

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
VitalJavier
Posts: 242
Joined: Mon Jun 10, 2013 6:40 pm

Re: ajustar una imagen en un dialogo como background

Post by VitalJavier »

Asi lo hago.

Code: Select all | Expand


FUNCTION ClaveAcceso
    LOCAL oDlgEntra, lEntra := .F., oGet := Array(2)
    PRIVATE oTimAcc     
    aGENERAL[01] := "USUARIO"
    aGENERAL[02] := "CONTRASEÑA"
    DEFINE BitMap oBmp1 FILE aGeneral[08]+"LOGO_EMPRESA.BMP"
       DEFINE DIALOG oDlgEntra RESOURCE "SYS_ENTRA" TRANSPARENT
        oDlgEntra:lHelpIcon := .F.
        oDlgEntra:bKeyDown  := {|nKey| IIF(nKey=27,oDlgEntra:End(),.F.)}
        oDlgEntra:bPainted := {|hDC| DBmpTiledCC(hDC,oDlgEntra,oBmp1)}      
        REDEFINE SAY PROMPT "Usuario" ID 105 OF oDlgEntra COLOR CLR_WHITE,CLR_BLACK
        REDEFINE SAY PROMPT "Clave de Acceso" ID 106 OF oDlgEntra COLOR CLR_WHITE,CLR_BLACK
        REDEFINE SAY PROMPT "(c) By Francisco Javier Vital Alvarez (2022)" ID 4005 OF oDlgEntra COLOR CLR_WHITE,CLR_BLACK
        REDEFINE GET oGet[1] VAR aGENERAL[01] ID 201 OF oDlgEntra FONT aLetras[04] PICTURE "@!" BITMAP "A_USER" ACTION SOLO_NADA(oGet[1]) COLOR (nRGB( 197, 205, 255 ))
        REDEFINE GET oGet[2] VAR aGENERAL[02] ID 202 OF oDlgEntra FONT aLetras[04] PICTURE "@!" BITMAP "A_PASS" ACTION SOLO_NADA(oGet[2]) VALID ValidaEntrada(oGet,@lEntra,oDlgEntra)   COLOR (nRGB( 197, 205, 255 ))
            oGet[1]:bKeyDown := {|nKey| PROCESO_KEY(oGet,nKey,1) }
            oGet[1]:bLostFocus := {|| PROCESO_PASS(oGet,1) }                        
            oGet[2]:bGotFocus := {|| oGet[2]:lPassword := .T.} 
            oGet[2]:bKeyDown := {|nKey| PROCESO_KEY(oGet,nKey,2) }
            oGet[2]:bLostFocus := {|| PROCESO_PASS(oGet,2) }                                    
    ACTIVATE DIALOG oDlgEntra CENTER ON INIT (Efectos( oDlgEntra, 16 ),RoundCorners( oDlgEntra ),PoneTitulo3(oDlgEntra,"Sistema Administrativo",,.T.,.F.,0,aLetras[65],15), Activa_Timer_Acceso(oDlgEntra))
   oTimAcc:End()    
   oBmp1:End()
RETURN lEntra

FUNCTION DBmpTiledCC(hDC, oWnd, oBmp )
    IF oBmp:hBitMap == 0
        RETURN nil
    ENDIF
    PalBmpDraw(hDC , 0, 0, oBmp:hBitMap,,oWnd:nWidth,oWnd:nHeight )
RETURN nil

 
Saludos.
User avatar
wilsongamboa
Posts: 600
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: ajustar una imagen en un dialogo como background

Post by wilsongamboa »

garcias con eso me presenta bien pero como le hago trasnparente que se vea el texto
saludos
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
Posts: 600
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: ajustar una imagen en un dialogo como background

Post by wilsongamboa »

asi esta
Image
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
Posts: 600
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: ajustar una imagen en un dialogo como background

Post by wilsongamboa »

Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
VitalJavier
Posts: 242
Joined: Mon Jun 10, 2013 6:40 pm

Re: ajustar una imagen en un dialogo como background

Post by VitalJavier »

Lo que quieres es hacer transparentes los GETS para que se vea la imagen de fondo??
User avatar
wilsongamboa
Posts: 600
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: ajustar una imagen en un dialogo como background

Post by wilsongamboa »

creo que eso si esta lo que quisiera es que se opaque un poco la imagen de fondo pára que se distingan bien los gets
perdon si estoy pidiendo cosas erroneas
saludos y gracias
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
karinha
Posts: 7885
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: ajustar una imagen en un dialogo como background

Post by karinha »

Que tal?

https://imgur.com/RPoM5Sk

Image

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
Posts: 7885
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: ajustar una imagen en un dialogo como background

Post by karinha »

Code: Select all | Expand

// C:\FWH\SAMPLES\OLIVEJR1.PRG - By Joao Santos.

#include "FiveWin.ch"

STATIC oFont, oFont2, oSay, oSay2, oSay3

FUNCTION Main()

   LOCAL oDlg, oImagem, oBtn, nNum := 0, oGet, oGet2, oEmail
   LOCAL cImagem  := "..\bitmaps\pngs\2.png"
   LOCAL dDat := Date()
   LOCAL cEmail := "Wilson.josenet@gmail.com"

   SET CENTURY ON
   SET DATE BRIT
   SET DATE FORMAT "DD/MM/YYYY"

   SET _3DLOOK ON

   SkinButtons()

   SetDlgGradient( { { 0.7, CLR_WHITE, CLR_WHITE }, { 0.5, CLR_BLACK, CLR_BLACK }, .F. } )

   DEFINE FONT oFont  NAME "Verdana" SIZE 0, -20 BOLD
   DEFINE FONT oFont2 NAME "Verdana" SIZE 0, -14 BOLD

   DEFINE DIALOG oDlg SIZE 800, 600 STYLE nOr( WS_CHILD, WS_POPUP ) FONT oFont ;
      COLOR CLR_BLACK, CLR_BLACK PIXEL TRUEPIXEL TRANSPARENT

   // oDlg:nOpacity := 140

   @ 0, 160 BITMAP oImagem FILENAME cImagem SIZE 400, 600 OF oDlg PIXEL        ;
      NOBORDER ADJUST

   oImagem:lTransparent := .T.

   oImagem:nOpacity := 140

   @ 500, 650 BTNBMP oBtn PROMPT "&EXIT" FILENAME "..\bitmaps\16x16\Exit.bmp"  ;
      SIZE 70, 70 OF oDlg PIXEL NOBORDER TOP 2007 FLAT FONT oFont              ;
      COLOR CLR_YELLOW, CLR_BLACK ACTION( oDlg:End() )
      
   oBtn:lCancel  := .T.
   oBtn:nRound   := 60
   oBtn:bClrGrad := { |lInvert| If( lInvert, 0x80FFA54A, nARGB( 54, 0, 192, 0 ) ) }

   IF Set( _SET_INSERT, ! Set( _SET_INSERT ) )
      Set( _SET_INSERT, ! Set( _SET_INSERT ) )
   ENDIF

   @ 230, 15 GET oGet VAR nNum OF oDlg SIZE 80, 20 PICTURE "9999999.99" PIXEL ;
      COLORS CLR_BLACK, CLR_WHITE FONT oFont2

   @ 300, 15 GET oGet2 VAR dDat OF oDlg SIZE 120, 20 PICTURE "@D 99/99/9999"  ;
      PIXEL COLORS METRO_COBALT, CLR_WHITE FONT oFont2 CENTER

   @ 450, 15 GET oEmail VAR cEmail OF oDlg SIZE 220, 30 PICTURE "@"           ;
      PIXEL COLORS METRO_EMERALD, CLR_WHITE FONT oFont2 CENTER

   ACTIVATE DIALOG oDlg ; //CENTERED ;
      ON INIT( SobreporImagem( oDlg ), xFocus( oGet ) )

   IF Set( _SET_INSERT, ! Set( _SET_INSERT ) )
      Set( _SET_INSERT, ! Set( _SET_INSERT ) )
   ENDIF

   oFont:End()
   oFont2:End()

RETURN NIL

FUNCTION SobreporImagem( oDlg )

   LOCAL oImagem
   LOCAL cImagem := "..\bitmaps\pngs\home.png"

   @ 0, 0 XIMAGE oImagem FILENAME cImagem SIZE 200, 200 OF oDlg ;
      NOBORDER

   oImagem:lTransparent := .T.

   oImagem:nOpacity := 140

   @ 200, 15 SAY oSay PROMPT "This a Test:" OF oDlg SIZE 150, 30 UPDATE      ;
      COLORS CLR_GREEN, CLR_BLACK PIXEL TRANSPARENT ADJUST FONT oFont2

   @ 270, 15 SAY oSay2 PROMPT "Wilson Gamboa:" OF oDlg SIZE 150, 30 UPDATE   ;
      COLORS METRO_ORANGE, CLR_BLACK PIXEL TRANSPARENT ADJUST FONT oFont2

   @ 420, 15 SAY oSay3 PROMPT "Email Contacto:" OF oDlg SIZE 146, 30 UPDATE  ;
      COLORS METRO_TAUPE, CLR_BLACK PIXEL TRANSPARENT ADJUST FONT oFont2

RETURN NIL
//-------------------------------------------------------------------------//
// As vezes simples SetFocus( oObj ) nao faz um objeto ganhar foco
// neste caso pode apelar para estas duas funcoes a seguir
// Forcar foco para um objeto especifico - Ednaldo Rolim...
//-------------------------------------------------------------------------//
FUNCTION xFocus( oObj )

   xSetFocus( oObj )
   xSetFocus( oObj )

RETURN( .T. )

FUNCTION xSetFocus( oObj )    

   LOCAL _oWnd := oObj:oWnd, _oTempo := ""

   DEFINE TIMER _oTempo INTERVAL 10 OF _oWnd ;
      ACTION ( oObj:SetFocus(), _oTempo:End() )

   ACTIVATE TIMER _oTempo

RETURN( .T. )

// FIN / END - kapiabafwh@gmail.com
 
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
wilsongamboa
Posts: 600
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: ajustar una imagen en un dialogo como background

Post by wilsongamboa »

Muchas gracias a todos voy a revisar y comentaré
Saludos
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
nageswaragunupudi
Posts: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: ajustar una imagen en un dialogo como background

Post by nageswaragunupudi »

This is not correct

Code: Select all | Expand

function BuildBrush( oDlg )

   local oImage, oBrush, aRect := oDlg:GetRect()

   DEFINE IMAGE oImage FILENAME ".\logo.jpg"

   oBrush   := TBrush():new( ,,,, ResizeBmp( oImage:hBitmap,  aRect[4], aRect[3], .T.,  ) )  // 1 = stretch, 2 : fitoutside, 3:fitinside
   oImage:End()
   oDlg:SetBrush( oBrush )
   oBrush:End()

return nil
 
Instead please use STRETCH clause while creating the Brush.
Keep your program simple.

Test program:

Code: Select all | Expand

#include "fivewin.ch"

function Main()

   local oDlg, oFont, oBrush

   DEFINE BRUSH oBrush FILE "..\bitmaps\logo.png" STRETCH
   DEFINE FONT oFont NAME "IMPACT" SIZE 0,-40 BOLD

   DEFINE DIALOG oDlg SIZE 600,350 PIXEL TRUEPIXEL RESIZABLE ;
      FONT oFont BRUSH oBrush TRANSPARENT

   @ 180,80 SAY "STRETCH BRUSH" SIZE 300,50 PIXEL OF oDlg CENTER COLOR CLR_WHITE,CLR_BLACK

   ACTIVATE DIALOG oDlg CENTERED

   RELEASE FONT oFont
   RELEASE BRUSH oBrush

return nil
Image
Regards

G. N. Rao.
Hyderabad, India
Post Reply