Page 1 of 2
ajustar una imagen en un dialogo como background
Posted: Thu Sep 05, 2024 3:16 pm
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
Re: ajustar una imagen en un dialogo como background
Posted: Thu Sep 05, 2024 3:43 pm
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.
Re: ajustar una imagen en un dialogo como background
Posted: Thu Sep 05, 2024 3:46 pm
by VitalJavier
Buen dia
[/img]
Algo Asi ??
Re: ajustar una imagen en un dialogo como background
Posted: Thu Sep 05, 2024 4:19 pm
by wilsongamboa
si gracias
Re: ajustar una imagen en un dialogo como background
Posted: Thu Sep 05, 2024 4:42 pm
by karinha
Re: ajustar una imagen en un dialogo como background
Posted: Thu Sep 05, 2024 4:43 pm
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.
Re: ajustar una imagen en un dialogo como background
Posted: Thu Sep 05, 2024 5:56 pm
by wilsongamboa
garcias con eso me presenta bien pero como le hago trasnparente que se vea el texto
saludos
Re: ajustar una imagen en un dialogo como background
Posted: Thu Sep 05, 2024 6:13 pm
by wilsongamboa
asi esta
Re: ajustar una imagen en un dialogo como background
Posted: Thu Sep 05, 2024 7:34 pm
by wilsongamboa
Re: ajustar una imagen en un dialogo como background
Posted: Thu Sep 05, 2024 8:02 pm
by VitalJavier
Lo que quieres es hacer transparentes los GETS para que se vea la imagen de fondo??
Re: ajustar una imagen en un dialogo como background
Posted: Thu Sep 05, 2024 8:48 pm
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
Re: ajustar una imagen en un dialogo como background
Posted: Fri Sep 06, 2024 12:45 pm
by karinha
Que tal?
https://imgur.com/RPoM5Sk
Regards, saludos.
Re: ajustar una imagen en un dialogo como background
Posted: Fri Sep 06, 2024 12:47 pm
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.
Re: ajustar una imagen en un dialogo como background
Posted: Sat Sep 07, 2024 12:53 am
by wilsongamboa
Muchas gracias a todos voy a revisar y comentaré
Saludos
Re: ajustar una imagen en un dialogo como background
Posted: Mon Sep 09, 2024 1:54 am
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