Página 1 de 1

Form Transparente con label.

Publicado: 06 Feb 2011, 05:52
por takuya2
Pues lei el post ese de "form transparente" y bueno, me puse a probar, y se me ocurrio algo...
Pero bueno, estoy probando y no lo consigo, este es el codigo que tengo:
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#Region ### START Koda GUI section ### Form=c:\Fuentes\Autoit\Mute\Mute.kxf
$Form1 = GUICreate("", 157, 21, 830, 3, $WS_Popup ,bitor($WS_EX_LAYERED, $WS_EX_TOPMOST))
; Habilitar para poder mover la ventana
$hLabel = GUICtrlCreateLabel("assd", 0, 0, 157, 21, -1, $GUI_WS_EX_PARENTDRAG)
GUISetBkColor(0xFFFF00)
$Pic1 = GUICtrlCreatePic(@ScriptDir & "\backlayer.jpg", 0,0,0,0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
El codigo lo tome de Marcelo770, Gracias Marcelo.

Lo que quiero es poner encima de la imagen, un label, donde muestre la hora y tal, pero vamos, con que se logre ver el label, ya hago yo lo de la hora. Pero necesito ayuda para eso... Gracias, y perdon si es un peticion tonta.

Re: Form Transparente con label.

Publicado: 07 Feb 2011, 04:35
por Marcelo
Bueno, el mismo código que pones es el que estoy usando, no era mio originalmente pero bueno...
Yo ya termine el programa y esta funcionando creo que muy bien. Hasta ahora... :smt002
Puse un label sobre la imagen de fondo y todo quedo tal cual como queria...

Código: Seleccionar todo

$Form_Volumen = GUICreate("Control de Volumen", 737, 110, 204, $Y ,$WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST,$WS_EX_TOOLWINDOW))
GUISetBkColor(0xFFFFFF)
$Fondo = GUICtrlCreatePic($ImgFondo, 0, 0, 0, 0)
$Barra = GUICtrlCreatePic($ImgBarra, 16, 64, 0, 0)
$Label1 = GUICtrlCreateLabel("Label1", 320, 40, 35, 28)
GUICtrlSetFont(-1, 16, 400, 0, "Arial")
GUICtrlSetColor(-1, 0x008000)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
Con eso anda perfecto. $imgBarra es un gráfico que redimensiono según el valor de volumen del sistema y asi que quede más lindo que una "progress bar" standard.
Espero que te ayude el código... Cualquier otra cosa en la que pueda ayudar acá estaré :smt002

Marcelo

Re: Form Transparente con label.

Publicado: 11 Abr 2011, 07:50
por ms999
Yo hace rato saque de algun lado para hacer una splashscreen y usaba label y PNG con transparencias... proba esto

Imagen

Código: Seleccionar todo

#cs ----------------------------------------------------------------------------
	#
	Version AutoIT: 3.3.6.1
	#
	Autor:         monoscout999
	#

	#
	Script:            Splash v2
	#

	#
#ce ---------------------------------------------------------------------------
#NoTrayIcon
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
HotKeySet("{Esc}", "_exit")
_monosplash()
Func _monosplash()
	$tx = 400
	$ty = 450
	$px = (@DesktopWidth / 2) - ($tx / 2)
	$py = (@DesktopHeight / 2) - ($ty / 2)
	$GUI = GUICreate("", $tx, $ty, $px, $py, 0x80000000, BitOR(0x00080000, 0x00000008))
	GUIRegisterMsg($WM_LBUTTONDOWN, "WM_LBUTTONDOWN")
	$label = GUICtrlCreateLabel("© MoNoScOuT999", $tx / 2, $ty - ($ty / 10), $tx / 2, $ty / 19)
	GUICtrlSetFont(-1, 15, $tx / 10)
	GUISetBkColor(1, $GUI)
	GUISetState(@SW_SHOW, $GUI)
	_WinAPI_SetLayeredWindowAttributes($GUI, 1, 255)
	_GDIPlus_Startup()
	$hImage = _GDIPlus_ImageLoadFromFile("monoscout999.png")
	$hGraphic = _GDIPlus_GraphicsCreateFromHWND($GUI)
	_GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 0, 0)
	_Beeps()
	Sleep(1000)
EndFunc   ;==>_monosplash
Func _Beeps()
	_WinAPI_Beep(440, 200)
	_WinAPI_Beep(440, 200)
	_WinAPI_Beep(440, 250)
	_WinAPI_Beep(554.37, 300)
	_WinAPI_Beep(440, 350)
	_WinAPI_Beep(554.37, 400)
	_WinAPI_Beep(659.26, 450)
	_WinAPI_Beep(554.37, 500)
	_WinAPI_Beep(659.26, 550)
	_WinAPI_Beep(880, 1000)
EndFunc   ;==>_Beeps
Func WM_LBUTTONDOWN($hWnd)
	Return _SendMessageA($hWnd, 0x00A1, 2, 0)
EndFunc   ;==>WM_LBUTTONDOWN
Func _exit()
	Exit
EndFunc   ;==>_exit