Página 1 de 1

Imagen de fondo (Problemas)

Publicado: 29 Mar 2009, 22:23
por Colmillitos
Hay alguna forma de poner la imagen de fondo sin que tape el resto de elementos GUI y sin que me impida hacer click en el resto de elementos???

Y Otra pregunta como puedo hacer que la imagen este incluida en el exe y que no tenga que buscarla en el ordenador??

Saludos

Re: Imagen de fondo (Problemas)

Publicado: 30 Mar 2009, 00:30
por Nahuel
Bien, para que la imagen no superpona el resto de los controles, necesitás crearla primero que nada. Es decir, creás la ventana y a continuación la imagen de fondo. Además, necesitás usar el estilo $WS_CLIPSIBLINGS para la imagen. De esta forma:

Código: Seleccionar todo

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$AnchoVentana = 506
$AltoVentana = 426

GUICreate("", $AnchoVentana, $AltoVentana)
GUICtrlCreatePic(@SystemDir & "\oobe\images\mslogo.jpg",0,0,$AnchoVentana,$AltoVentana,$WS_CLIPSIBLINGS )

$Button1 = GUICtrlCreateButton("Button1", 144, 224, 75, 25)
$Button2 = GUICtrlCreateButton("Button2", 248, 224, 75, 25)

GUISetState(@SW_SHOW)
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			MsgBox(0,"","Button1")
		Case $Button2
			MsgBox(0,"","Button2")
	EndSwitch
WEnd

Con respecto a tu segunda pregunta, mirá la ayuda de FileInstall(). Esta función incluye los archivos que le digas dentro del ejecutable y las descomprime en un directorio específico. Luego, podés usarla desde ese directorio.

Ej:

Código: Seleccionar todo

FileInstall("C:\Mis documentos\Mi Imagen.bmp",@TempDir & "\miimagen.bmp")
[...]
GuiCtrlcreatepic(@TempDir & "\miimagen.bmp",0,0,100,100)
[...]
Espero esté claro :smt001