Poner imagen en MDI

Post Reply
jaba
Posts: 109
Joined: Tue Dec 12, 2006 12:39 am
Location: CALI COLOMBIA

Poner imagen en MDI

Post by jaba »

Saludos para el Foro

Alguien me puede indicar como coloco una imagen en una ventana MDI

Cordialmente

Jairo Barbosa
User avatar
jrestojeda
Posts: 543
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Post by jrestojeda »

Hola amigo.
Prueba lo siguiente:

Code: Select all

DEFINE BRUSH oBrush1 RESOURCE "IMAGEN" // Defines la imagen

Code: Select all

DEFINE WINDOW oWnd1 MDICHILD OF oWnd BRUSH oBrush1 ICON "A_ICONO1";
   TITLE "ABM de clientes";
   VSCROLL HSCROLL
Nota: La imagen está dentro de una DLL de recursos, dentro de un RC es lo mismo.

Espero te sirva.
Saludos, desde Argentina, Esteban.
jaba
Posts: 109
Joined: Tue Dec 12, 2006 12:39 am
Location: CALI COLOMBIA

Post by jaba »

jrestojeda wrote:Hola amigo.
Prueba lo siguiente:

Code: Select all

DEFINE BRUSH oBrush1 RESOURCE "IMAGEN" // Defines la imagen

Code: Select all

DEFINE WINDOW oWnd1 MDICHILD OF oWnd BRUSH oBrush1 ICON "A_ICONO1";
   TITLE "ABM de clientes";
   VSCROLL HSCROLL
Nota: La imagen está dentro de una DLL de recursos, dentro de un RC es lo mismo.

Espero te sirva.
Saludos, desde Argentina, Esteban.
*--------------------------------------------------------------------------
Bueno Amigo Gracias por tu respuesta,
me gustaria preguntarte si con ese metodo la imagen se acomoda en el monotor a las distintas resoluciones?
Tenia un arreglo con pero al hacerla la ventana mdi desaparecio la imagen.

Gracias de antemano por tu ayuda

Jairo Barbosa
User avatar
jrestojeda
Posts: 543
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Post by jrestojeda »

No amigo, la imagen no se adapta a distintas resoluciones.
Yo eso lo soluciono con diferentes Brush.

Code: Select all

ResH:=oWnd:nHorzRes()
ResV:=oWnd:nVertRes()

IF ResH=800 .AND. ResV=600
   SET BRUSH OF oWnd TO oBrush1
ELSE
   IF ResH=1024 .AND. ResV=768
      SET BRUSH OF oWnd TO oBrush2
   ENDIF
ENDIF
oBrush1 y oBrush2 son dos imágenes distintas con los tamaños ya preestablecidos.
En el IF Solo está para dos resoluciones pero puedes poner las que quieras, no se si es la mejor forma, pero es la forma en la que yo resuelvo este tema.

Espero te sirva.
Saludos.
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Poner imagen en MDI

Post by FranciscoA »

jaba wrote:Saludos para el Foro

Alguien me puede indicar como coloco una imagen en una ventana MDI

Cordialmente

Jairo Barbosa

Yo lo hago de la manera siguiente. Espero te sirva.

Function Main()
local oBmp

DEFINE BITMAP oBmp file ".\MiBmp.bmp"
...
...
oWnd:bPainted := { | hDC | PongaBmp( hDC , oBmp , oWnd ) }

ACTIVATE WINDOW oWnd MAXIMIZED

oBmp:End()
SET RESOURCES TO
Return nil

//-----------------------------------------//FWH
STATIC FUNCTION PongaBmp( hDC, oBmp, oWnd ) //BmpTiled(
local nWidth := oWnd:nWidth(), nHeight := oWnd:nHeight()
local nRow := 0, nCol := 0, n
local nBmpWidth := oBmp:nWidth(), nBmpHeight := oBmp:nHeight()

if oBmp:hBitmap == 0
return nil
endif

while nRow < nHeight
nCol = 0
while nCol < nWidth
PalBmpDraw( hDC, nRow, nCol, oBmp:hBitmap )
nCol += nBmpWidth
end
nRow += nBmpHeight
end
return nil


Saludos
Francisco J. Alegria P.
jaba
Posts: 109
Joined: Tue Dec 12, 2006 12:39 am
Location: CALI COLOMBIA

Re: Poner imagen en MDI

Post by jaba »

FranciscoA wrote:
jaba wrote:Saludos para el Foro

Alguien me puede indicar como coloco una imagen en una ventana MDI

Cordialmente

Jairo Barbosa

Yo lo hago de la manera siguiente. Espero te sirva.

Function Main()
local oBmp

DEFINE BITMAP oBmp file ".\MiBmp.bmp"
...
...
oWnd:bPainted := { | hDC | PongaBmp( hDC , oBmp , oWnd ) }

ACTIVATE WINDOW oWnd MAXIMIZED

oBmp:End()
SET RESOURCES TO
Return nil

//-----------------------------------------//FWH
STATIC FUNCTION PongaBmp( hDC, oBmp, oWnd ) //BmpTiled(
local nWidth := oWnd:nWidth(), nHeight := oWnd:nHeight()
local nRow := 0, nCol := 0, n
local nBmpWidth := oBmp:nWidth(), nBmpHeight := oBmp:nHeight()

if oBmp:hBitmap == 0
return nil
endif

while nRow < nHeight
nCol = 0
while nCol < nWidth
PalBmpDraw( hDC, nRow, nCol, oBmp:hBitmap )
nCol += nBmpWidth
end
nRow += nBmpHeight
end
return nil


Saludos
Francisco J. Alegria P.
Jrestojeda , Francisco

Gracias lo estoy probando

Cordialmente

Jairo Barbosa
Post Reply