Visual Basic - Ayuda Urgente.....Problemas con MDIFORM

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda Urgente.....Problemas con MDIFORM

Publicado por José A (7 intervenciones) el 01/09/2004 15:35:00
No encuentro la manera de colocar un objeto picture o Image en un MDIFORM. Bueno lo coloco pero no lo logro colocar centrado en el Formulario.. si me pueden ayudar se los agradeceria....Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda Urgente.....Problemas con MDIFORM

Publicado por ruri (583 intervenciones) el 01/09/2004 19:21:48
José:
Sobre un MDI, sóli pueden colocarse controles que admitan alineación, y deben alinearse en él. Centrar un Picture Box no puede sin colocarse otros controles a los costados. Pero si lo que querés es dibujar una imagen centrada, probá lo siguiente:

Dim pic As Picture, w as single, h as single

Set pic=LoadPicture("C:\...")
w=scalex(pic.Width,vbhimetric,vbTwips)
h=scalex(pic.height,vbhimetric,vbTwips)
with MdiForm
.Cls
.AutoRedraw=True
.PaintPicture pic, (.Scalewidth -w)/2, (.ScaleHeight-h)/2
.Refresh
end With.
Set Pic=nothing

Saludos Ruri
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda Urgente.....Problemas con MDIFORM

Publicado por ruri (583 intervenciones) el 01/09/2004 19:23:16
Me equivoqué al tipear, donde dice
h=scalex(pic.height,vbhimetric,vbTwips)
debe decir
h=scaleY(pic.height,vbhimetric,vbTwips)
Además verificá si es vbhimetric o vbhimetrics
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda Urgente.....Problemas con MDIFORM

Publicado por eao (9 intervenciones) el 01/09/2004 19:55:34
Hola ruri, estaba probando tu código, pero me da error en las definiciones de scalex
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda Urgente.....Problemas con MDIFORM

Publicado por Ruri (583 intervenciones) el 03/09/2004 05:24:27
José.
Se me ocurrió esta solución, se trata de colocar un picturebox invisible llamado picCanvas 8poné borderstyle=0 y autoredraw=true), lo hacemos del mismo tamaño que el formulario en el evento resize,lo pintamos y guardamos el bitmap en un archivo temporal, luego insertamos la imagen en el form. El código es un poco lento, pero funciona. El código es el siguiente:

Option Explicit
DefLng A-Z
Private Sub MDIForm_Load()
With picCanvas
.BorderStyle=0
.Autoredraw=True
.BackColor=Me.BackColor
end with
MDIForm_Resize
End Sub

Private Sub MDIForm_Resize()
On Error Resume Next
Dim pic As Picture, w As Single, h As Single
Set pic = LoadPicture("C:\47.jpg")
With picCanvas
Me.picCanvas.Height = ScaleHeight
w = .ScaleX(pic.Width, vbHimetric, vbTwips)
h = .ScaleX(pic.Height, vbHimetric, vbTwips)
.Cls
.BackColor = Me.BackColor
.PaintPicture pic, (.ScaleWidth - w) / 2, (.ScaleHeight - h) / 2
.Refresh
SavePicture .Image, "C:\temp.bmp"
End With
Set pic = Nothing
Set Me.Picture = LoadPicture("C:\temp.bmp")
End Sub

Saludos Ruri
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar