ajustar una imagen en un dialogo como background

ajustar una imagen en un dialogo como background

Postby wilsongamboa » Thu Sep 05, 2024 3:16 pm

Buenos dias estoy tratado sin exito de ajustar una imagen en un dialogo
Code: Select all  Expand view  RUN
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
wilsongamboa
 
Posts: 600
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: ajustar una imagen en un dialogo como background

Postby karinha » Thu Sep 05, 2024 3:43 pm

Intenta asi:

Code: Select all  Expand view  RUN

// 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
karinha
 
Posts: 7872
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: ajustar una imagen en un dialogo como background

Postby VitalJavier » Thu Sep 05, 2024 3:46 pm

Buen dia

[img]
Image
[/img]

Algo Asi ??
User avatar
VitalJavier
 
Posts: 242
Joined: Mon Jun 10, 2013 6:40 pm

Re: ajustar una imagen en un dialogo como background

Postby wilsongamboa » Thu Sep 05, 2024 4:19 pm

si gracias
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

Postby karinha » Thu Sep 05, 2024 4:42 pm

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

Re: ajustar una imagen en un dialogo como background

Postby VitalJavier » Thu Sep 05, 2024 4:43 pm

Asi lo hago.

Code: Select all  Expand view  RUN


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
VitalJavier
 
Posts: 242
Joined: Mon Jun 10, 2013 6:40 pm

Re: ajustar una imagen en un dialogo como background

Postby wilsongamboa » Thu Sep 05, 2024 5:56 pm

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

Postby wilsongamboa » Thu Sep 05, 2024 6:13 pm

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

Postby wilsongamboa » Thu Sep 05, 2024 7:34 pm

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

Postby VitalJavier » Thu Sep 05, 2024 8:02 pm

Lo que quieres es hacer transparentes los GETS para que se vea la imagen de fondo??
User avatar
VitalJavier
 
Posts: 242
Joined: Mon Jun 10, 2013 6:40 pm

Re: ajustar una imagen en un dialogo como background

Postby wilsongamboa » Thu Sep 05, 2024 8:48 pm

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
wilsongamboa
 
Posts: 600
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: ajustar una imagen en un dialogo como background

Postby karinha » Fri Sep 06, 2024 12:45 pm

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: 7872
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: ajustar una imagen en un dialogo como background

Postby karinha » Fri Sep 06, 2024 12:47 pm

Code: Select all  Expand view  RUN

// 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
karinha
 
Posts: 7872
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: ajustar una imagen en un dialogo como background

Postby wilsongamboa » Sat Sep 07, 2024 12:53 am

Muchas gracias a todos voy a revisar y comentaré
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

Postby nageswaragunupudi » Mon Sep 09, 2024 1:54 am

This is not correct
Code: Select all  Expand view  RUN
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 view  RUN
#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
User avatar
nageswaragunupudi
 
Posts: 10690
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: FiveWiDi and 104 guests