Visor en Visual Basic

Quería saber si es posible hacer visualizaciones en miniatura, en visual basic, ¿cómo generar los botones para cada miniatura?, ¿Todo se hace dentro de un picture box?
La idea que quiero hacer algo parecido al acdsee el conocido visualizador de imágenes. Desde ya les agradecería si me pudien ayudar.
Carlos

1 respuesta

Respuesta
1
No es muy difícil hacer esto
Lo que tendrías que hacer es cargar la API de windows "StretchBlt"
Haber te doy un ejemplo de un explorador de imágenes que al seleccionar de una lista un archivo se puede ver este en un recuadro pequeño, aquí va:
1.Poner en un formulario 3 objetos (Un FileListBox y dos PictureBox) y Agregar un Modulo (. Vas)
En el modulo Pon Esto:
Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Estas son las Propiedades para esos objetos:
-(File1)-(FileListBox)
File1.Path = "C:\Windows" (este path es solo para ejemplo)
File1.Pattern = "*.bmp" (bmp para ejemplo)
-(Form1)-(Form)
Form1.ScaleMode = vbPixel
-(PicTemp)- (Primer PictureBox)
PicTemp.AutoSize = True
PicTemp.Autoredraw = True
PicTemp.Visible = False
PicTemp.ScaleMode = vbPixel
-(PicView)- (Segundo PictureBox)
PicView.Autoredraw = True
PicView.ScaleMode = vbPixel
(Pon el tamaño de este PictureBox
como quieras que se vea el recuadro)
Luego En El Evento Click del File1
Pon esto:
PicTemp.Picture = LoadPicture(File1.Path & "\" & File1.FileName)
StretchBlt PicView. HDC, 0,0, PicView. ScaleWidth, PicView. ScaleHeight, PicTemp. HDC, 0,0, PicTemp. ScaleWidth, PicTemp. ScaleHeight, vbSrcCopy
PicView. Refresh
Si Necesitas más Información acerca de esta API te doy esta Web:
http://winapi.conclase.net/curso/funcion.php?StretchBlt
Ahora probaré lo me me has pasado. Muchas gracias por contestar. Si necesitas que de mi ayuda me puedes escribir a esta dirección. [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas