como aplicar skins a mis aplicaciones

Tus preguntas. Algoritmos o Grupos de Comandos formando Programas Escripts.
Responder
wiloson
Mensajes: 17
Registrado: 06 Ene 2013, 17:42

como aplicar skins a mis aplicaciones

Mensaje por wiloson »

Bueno pues recientemente buscando como mejorar mis GUI encontré información de que se podía agregar skins o pieles a mis aplicaciones pero la duda que me surgió es como haría para hacer esto en mis aplicaciones :smt021 Gracias. :smt023
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2085
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: como aplicar skins a mis aplicaciones

Mensaje por BasicOs »

Hay una librería de Valuater aquí que incluye Skins curiosos. Pero lo de los Skins lo puedes hacer tu mismo organizando carpetas, gráficos y forms-gui bonitos y modificandolos.
Salu22:)
PDF
Hacker del Foro
Mensajes: 152
Registrado: 18 Ene 2013, 23:23

Re: como aplicar skins a mis aplicaciones

Mensaje por PDF »

Si quieres aplicar Skins a tus scripts, aqui tienes un ejemplo que creo es muy sencillo :smt023 :

Código: Seleccionar todo

#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>

Global $DLL=@ScriptDir&'\SkinCrafter.dll'
Global $Skin=@ScriptDir&'\Tranquill.skf'
Global $DLLSkCrafter

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Mi GUI con Skin", 341, 215, -1, -1)
_AbrirSkinCrafter($DLL)
_AplicarSkin($Form1,$Skin)
$Group1 = GUICtrlCreateGroup("Group1", 8, 8, 321, 193)
$Button1 = GUICtrlCreateButton("Info", 24, 160, 289, 25)
$Group2 = GUICtrlCreateGroup("Group2", 24, 24, 193, 73)
$Radio1 = GUICtrlCreateRadio("Radio1", 40, 72, 73, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 128, 40, 81, 17)
$Radio2 = GUICtrlCreateRadio("Radio2", 128, 72, 65, 17)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 40, 40, 81, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button2 = GUICtrlCreateButton("Aceptar", 232, 32, 81, 25)
$Button3 = GUICtrlCreateButton("Cancelar", 232, 64, 81, 25)
$Input1 = GUICtrlCreateInput("Skin Crafter", 192, 104, 121, 21)
$Combo1 = GUICtrlCreateCombo("Combo1", 192, 133, 121, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$List1 = GUICtrlCreateList("", 24, 104, 153, 45)
GUICtrlSetData(-1, "Item1|Item2|Item3|Item4|Item5")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

	EndSwitch
WEnd

Func _AbrirSkinCrafter($nDLL)
	$DLLSkCrafter = DllOpen($nDLL)
	DllCall($DLLSkCrafter, "int:cdecl", "InitLicenKeys", "wstr", "SKINCRAFTER", "wstr", "SKINCRAFTER.COM", "wstr", "[email protected]", "wstr", "DEMOSKINCRAFTERLICENCE")
	DllCall($DLLSkCrafter, "int:cdecl", "DefineLanguage", "int", 0)
	Return 1
EndFunc   ;==>_CargarSkinCrafter

Func _AplicarSkin($Hwnd, $Skin)
	DllCall($DLLSkCrafter, "int:cdecl", "InitDecoration", "int", 1)
	DllCall($DLLSkCrafter, "int:cdecl", "LoadSkinFromFile", "wstr", $Skin)
	DllCall($DLLSkCrafter, "int:cdecl", "ApplySkin")
	DllCall($DLLSkCrafter, "int:cdecl", "DecorateAs", "long", $Hwnd, "long", 1)
	Return 1
EndFunc   ;==>_IniciarSkinCrafter
Para que funcione deberas bajar el achivo que adjunto mas abajo y ubicarlo en el directorio del script. El secreto esta en la dll, esta es capaz de cargar los archivos *sfx, que son los skins y aplicarlos a la GUI, puedes modificarlo a tu gusto.

Para crear tus skins debes descargarte el SkinCrafter de prueba o si quieres cómpralo desde su sitio Web :smt003 . Espero que te sirva Salu22 :smt006
Adjuntos
GUISkin.rar
Script, Dll y skins
(297.23 KiB) Descargado 383 veces
Avatar de Usuario
juantxo
Hacker del Foro
Mensajes: 78
Registrado: 02 Abr 2008, 13:36

Re: como aplicar skins a mis aplicaciones

Mensaje por juantxo »

Que maravilla!!!

Sencillo y eficaz. Hace que los formularios queden mucho mas vistosos, y es muy facil de aplicar... :smt038

Pero, como siempre tiene que haber un problema...

Al menos a mi, en varios programas en que lo he aplicado, me da un error cuando cierro el ejecutable.

Lo curioso es que el error es en el autoit3.exe y que el ejemplo que tu has puesto me funciona perfectamente...

He intentado buscar si es algun tipo concreto de control el que falla, pero no parece que sea la causa...

¿Alguna idea?? :smt021 :smt021
PDF
Hacker del Foro
Mensajes: 152
Registrado: 18 Ene 2013, 23:23

Re: como aplicar skins a mis aplicaciones

Mensaje por PDF »

Tal vez el error este en la Dll :smt017 , ya que en el script no agregué la función DllClose que muchas veces ocasiona problemas al cerrar autoit, sería bueno que probaras con esto :smt024 :

Case $GUI_EVENT_CLOSE
Dllclose($DLLSkCrafter)
Exit
wiloson
Mensajes: 17
Registrado: 06 Ene 2013, 17:42

Re: como aplicar skins a mis aplicaciones

Mensaje por wiloson »

Gracias a todos ya lo pude lograr :smt023 PDF con el programa SkinCrafter se puede crear skins para autoit
Avatar de Usuario
juantxo
Hacker del Foro
Mensajes: 78
Registrado: 02 Abr 2008, 13:36

Re: como aplicar skins a mis aplicaciones

Mensaje por juantxo »

:smt039 +
Nada... Que no hay forma...

Lo de cerrar la DLL ya se me habia ocurrido, aunque lo había hecho mal :smt010

Pero con la correccion que me propones

Código: Seleccionar todo

Case $GUI_EVENT_CLOSE
Dllclose($DLLSkCrafter)
Exit
, tampoco funciona... :smt010

Alguna otra idea??
Avatar de Usuario
juantxo
Hacker del Foro
Mensajes: 78
Registrado: 02 Abr 2008, 13:36

Re: como aplicar skins a mis aplicaciones

Mensaje por juantxo »

A ver si con un ejemplo, alguien puede ayudarme...

He extraído de un Script que hice la parte del formulario, que modifiqué para que muestre el SKIN, da el error que os decía (bajo Windows XP, y comprobado en dos equipos distintos)

Código: Seleccionar todo

#cs ----------------------------------------------------------------------------

	AutoIt Version: 3.3.6.1
	Author:         myName

	Script Function:
	Template AutoIt script.

#ce ----------------------------------------------------------------------------

; Script Start - Add your code below here


;~ #Region Includes
#include <Constants.au3>
#include <GUIConstants.au3>
#include <GuiConstantsEx.au3>
#include <GUIListBox.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <array.au3>
#include "_sql.au3"
#include <ExcelCOM_UDF.au3>  ; Include the function collection
#include <AnimaVentana.au3>
#include <File.au3>
#include <STRING.au3>
#include <GuiEdit.au3>
#include <Marquee.au3>
#include <Date.au3>
#include <IE.au3>
#include <adfunctions.au3>
#EndRegion

Global $DLL = @ScriptDir & '\SkinCrafter.dll'
Global $Skin = @ScriptDir & '\Tranquill.skf'
Global $DLLSkCrafter

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Consulta Centros", 697, 535, -1, -1) ; 193, 115)

#Region IMAGEN
;~ $Pic1 = GUICtrlCreatePic("", 0, 0, 697, 529, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS), $WS_EX_LAYERED)
;~ ; GUICtrlSetOnEvent(-1, "Pic1Click")
GUICtrlSetState(-1, $GUI_DISABLE)
#EndRegion IMAGEN
#Region Etiqueta Version
Local $Version = FileGetVersion(@AutoItExe)
$Label_v = GUICtrlCreateLabel("Versión: " & $Version, 20, 505, 70, 10)
GUICtrlSetFont($Label_v, 6)
GUICtrlSetBkColor($Label_v, $GUI_BKCOLOR_TRANSPARENT)
#EndRegion Etiqueta Version


#Region ### CHECKBOXes
#cs
	Coordenadas ---
	Y= 	16 	128	240	352	464	576  					---- Diferencia -->  112
	X= 184	208	232	256	280	304	328	352	376	400	  	---- Diferencia -->   24
#ce
;~ #cs
Dim $coordX = 189, $coordY = 21
;~ 		MsgBox(0,"",$nCuantasZB)
Dim $Checkbox[41]
For $x = 1 To 40
	$Checkbox[$x] = GUICtrlCreateCheckbox("N-Centro" & $x, $coordY, $coordX, 97, 17)
;~ 	GUICtrlSetBkColor($Checkbox[$x], $GUI_BKCOLOR_TRANSPARENT)
;~ 	; GUICtrlSetOnEvent($Checkbox[$x], "Checkbox" & $x & "Click")
	$coordX = $coordX + 24
	If $coordX > 405 Then
		$coordX = 189
		$coordY = $coordY + 112
	EndIf
Next
#EndRegion ### CHECKBOXes

#Region Botones marcar
$Button1 = GUICtrlCreateButton("Cambiar", 21, 432, 75, 25, 0)
;~ ; GUICtrlSetOnEvent(-1, "Button1Click")
$Button2 = GUICtrlCreateButton("Cambiar", 133, 432, 75, 25, 0)
;~ ; GUICtrlSetOnEvent(-1, "Button2Click")
$Button3 = GUICtrlCreateButton("Cambiar", 245, 432, 75, 25, 0)
;~ ; GUICtrlSetOnEvent(-1, "Button3Click")
$Button4 = GUICtrlCreateButton("Cambiar", 357, 432, 75, 25, 0)
;~ ; GUICtrlSetOnEvent(-1, "Button4Click")
$Button5 = GUICtrlCreateButton("Cambiar", 469, 432, 75, 25, 0)
;~ ; GUICtrlSetOnEvent(-1, "Button5Click")
$Button6 = GUICtrlCreateButton("Cambiar", 581, 432, 75, 25, 0)
;~ ; GUICtrlSetOnEvent(-1, "Button6Click")
#EndRegion Botones marcar
#Region Boton TODO
$Button7 = GUICtrlCreateButton("Marcar TODO", 15, 150, 160, 25, 0)
;~ ; GUICtrlSetOnEvent(-1, "Button7Click")
$Button8 = GUICtrlCreateButton("Desmarcar TODO", 181, 150, 160, 25, 0)
;~ ; GUICtrlSetOnEvent(-1, "Button8Click")
#EndRegion Boton TODO

#Region Boton por area
Local $up = 143
$Chk_Filtro1 = GUICtrlCreateCheckbox("SD. Este", 384, $up, 65, 25)
;~ ; GUICtrlSetOnEvent(-1, "Chk_Filtro1")
$Chk_Filtro2 = GUICtrlCreateCheckbox("SD. Norte", 460, $up, 65, 25)
;~ ; GUICtrlSetOnEvent(-1, "Chk_Filtro2")
$Chk_Filtro3 = GUICtrlCreateCheckbox("A. Estella", 536, $up, 65, 25)
;~ ; GUICtrlSetOnEvent(-1, "Chk_Filtro3")
$Chk_Filtro4 = GUICtrlCreateCheckbox("A. Tudela", 612, $up, 65, 25)
;~ ; GUICtrlSetOnEvent(-1, "Chk_Filtro4")
$Chk_Filtro5 = GUICtrlCreateCheckbox("Pet. Sue", 460, $up + 20, 65, 25)
;~ ; GUICtrlSetOnEvent(-1, "Chk_Filtro5")
$Chk_Filtro6 = GUICtrlCreateCheckbox("Lamia", 536, $up + 20, 65, 25)
;~ ; GUICtrlSetOnEvent(-1, "Chk_Filtro6")
$Group1 = GUICtrlCreateGroup("", 375, 135, 309, 52)
GUICtrlCreateGroup("", -99, -99, 1, 1)
#EndRegion Boton por area

#Region MENU
; Menu Fichero
$MenuItem1 = GUICtrlCreateMenu("&Fichero")
;~ ; GUICtrlSetOnEvent(-1, "MenuItem1Click")
$MenuAbrir = GUICtrlCreateMenuItem("&Abrir", $MenuItem1)
;~ ; GUICtrlSetOnEvent(-1, "MenuAbrirClick")
$MenuItem3 = GUICtrlCreateMenuItem("", $MenuItem1)
;~ ; GUICtrlSetOnEvent(-1, "MenuItem3Click")
$MenuSalir = GUICtrlCreateMenuItem("&Salir", $MenuItem1)
;~ ; GUICtrlSetOnEvent(-1, "MenuSalirClick")
; Menu Edicion
$MenuEdicion = GUICtrlCreateMenu("&Edicion")
;~ ; GUICtrlSetOnEvent(-1, "MenuEdicionClick")
$MenuEdicion = GUICtrlCreateMenuItem("&Seleccionar Todo", $MenuEdicion)
;~ ; GUICtrlSetOnEvent(-1, "SelecTodoClikc")
$MenuCopiar = GUICtrlCreateMenuItem("&Copiar", $MenuEdicion)
;~ ; GUICtrlSetOnEvent(-1, "MenuCopiarClick")
$MenuCortar = GUICtrlCreateMenuItem("Cortar", $MenuEdicion)
;~ ; GUICtrlSetOnEvent(-1, "MenuCortarClick")
$MenuPegar = GUICtrlCreateMenuItem("", $MenuEdicion)
;~ ; GUICtrlSetOnEvent(-1, "MenuPegarClick")
$MenuPega = GUICtrlCreateMenuItem("Pegar", $MenuEdicion)
;~ ; GUICtrlSetOnEvent(-1, "MenuPegaClick")
; Menu Consultas
$MenuCta = GUICtrlCreateMenu("&Consultas")
;~ ; GUICtrlSetOnEvent(-1, "ConsultasClick")
$MenuICta1 = GUICtrlCreateMenuItem("&1- Buscar Paciente x CIPNA     ", $MenuCta)
;~ ; GUICtrlSetOnEvent(-1, "Consulta1")
$MenuICta2 = GUICtrlCreateMenuItem("&2- Buscar Paciente x Apellidos", $MenuCta)
;~ ; GUICtrlSetOnEvent(-1, "Consulta2")
$MenuICta10 = GUICtrlCreateMenuItem("&2- Buscar Paciente Act+Hist y GAF (Parametros!)", $MenuCta)
;~ ; GUICtrlSetOnEvent(-1, "Consulta10")
$MenuICta3 = GUICtrlCreateMenuItem("", $MenuCta)
$MenuICta4 = GUICtrlCreateMenuItem("&3- Buscar Medico x NombreMed  ", $MenuCta)
; GUICtrlSetOnEvent(-1, "Consulta3")
$MenuICta5 = GUICtrlCreateMenuItem("", $MenuCta)
$MenuICta6 = GUICtrlCreateMenuItem("&4- Buscar Centro por Télefono ", $MenuCta)
; GUICtrlSetOnEvent(-1, "Consulta4")
$MenuICta7 = GUICtrlCreateMenuItem("", $MenuCta)
$MenuICta8 = GUICtrlCreateMenuItem("&5- Permitir Modificar Festivos ", $MenuCta)
; GUICtrlSetOnEvent(-1, "Consulta5")
$MenuICta9 = GUICtrlCreateMenuItem("&6- Desactivar Modificar Festivos ", $MenuCta)
; GUICtrlSetOnEvent(-1, "Consulta6")
$MenuICta10 = GUICtrlCreateMenuItem("&7- Consultar Estado de Modificar Festivos ", $MenuCta)
; GUICtrlSetOnEvent(-1, "Consulta7")
$MenuICta11 = GUICtrlCreateMenuItem("", $MenuCta)
$MenuICta12 = GUICtrlCreateMenuItem("&8- Estado de Caducidad Passwords <> 180 ", $MenuCta)
; GUICtrlSetOnEvent(-1, "Consulta8")
$MenuICta12 = GUICtrlCreateMenuItem("&9- Buscar OOMM de paciente (NIF) ", $MenuCta)
; GUICtrlSetOnEvent(-1, "Consulta9")
; Menu Grupos
$MenuGrupo = GUICtrlCreateMenu("&Grupos")
$MenuGrupo1 = GUICtrlCreateMenuItem("SD. Este", $MenuGrupo, 0)
; GUICtrlSetOnEvent(-1, "MenuGrupo1")
$MenuGrupo2 = GUICtrlCreateMenuItem("SD. Norte", $MenuGrupo, 1)
; GUICtrlSetOnEvent(-1, "MenuGrupo2")
$MenuGrupo3 = GUICtrlCreateMenuItem("Area Estella", $MenuGrupo, 2)
; GUICtrlSetOnEvent(-1, "MenuGrupo3")
$MenuGrupo4 = GUICtrlCreateMenuItem("Area Tudela", $MenuGrupo, 3)
; GUICtrlSetOnEvent(-1, "MenuGrupo4")
$MenuGrupo5 = GUICtrlCreateMenuItem("Peticionarios At. Domiciliaria SUE", $MenuGrupo, 4)
; GUICtrlSetOnEvent(-1, "MenuGrupo5")
$MenuGrupo6 = GUICtrlCreateMenuItem("Centros LAMIA", $MenuGrupo, 5)
; GUICtrlSetOnEvent(-1, "MenuGrupo6")
#EndRegion MENU
$MenuPP = GUICtrlCreateMenu("&Usuarios")
$MenuPP1 = GUICtrlCreateMenuItem("P.Presencial", $MenuPP, 0)
; GUICtrlSetOnEvent(-1, "PanelPresencial")

#Region Cuadro de Texto para Consulta
If 1 Then
;~ 	; GUICtrlSetOnEvent(-1, "Button7Click")
	$TexBox = GUICtrlCreateEdit("", 15, 5, 555, 80, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN, $WS_VSCROLL))
Else ;si no hay marquesina de novedades, se crea mas grande.

	$TexBox = GUICtrlCreateEdit("", 15, 5, 555, 100, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN, $WS_VSCROLL))
EndIf
GUICtrlSetBkColor($TexBox, "0xFFFFFF")
; GUICtrlSetOnEvent($TexBox, "TexBoxChange")
#EndRegion Cuadro de Texto para Consulta

#Region Variables para SQL

$btn_HelpVariable = GUICtrlCreateButton("?", 670, 5, 15, 15)
; GUICtrlSetOnEvent(-1, "HelpVar")
GUICtrlSetTip($btn_HelpVariable, "Ayuda sobre parametros")
$btn_ComprobarScript = GUICtrlCreateButton("@", 650, 5, 15, 15)
; GUICtrlSetOnEvent(-1, "VerScript")
GUICtrlSetTip($btn_ComprobarScript, "Mostrar Script resultante de parametros")
$LabelVar = GUICtrlCreateLabel("Variables:", 575, 5)
$LabelVar1 = GUICtrlCreateLabel("1:", 580, 25, 15, 20)
$LabelVar2 = GUICtrlCreateLabel("2:", 580, 45, 15, 20)
$LabelVar3 = GUICtrlCreateLabel("3:", 580, 65, 15, 20)
$LabelVar4 = GUICtrlCreateLabel("4:", 580, 85, 15, 20)

Dim $Inp_Var[5]
$Inp_Var[0] = 4 ; para nada, pero...
$Inp_Var[1] = GUICtrlCreateInput("", 590, 22, 100, 20)
$Inp_Var[2] = GUICtrlCreateInput("", 590, 42, 100, 20)
$Inp_Var[3] = GUICtrlCreateInput("", 590, 62, 100, 20)
$Inp_Var[4] = GUICtrlCreateInput("", 590, 82, 100, 20)
GUICtrlSetBkColor($Inp_Var[1], $COLOR_SILVER)
GUICtrlSetBkColor($Inp_Var[2], $COLOR_SILVER)
GUICtrlSetBkColor($Inp_Var[3], $COLOR_SILVER)
GUICtrlSetBkColor($Inp_Var[4], $COLOR_SILVER)

#EndRegion Variables para SQL



#Region BOTONES Ejecutar, Exportar y Salir
$Button9 = GUICtrlCreateButton("EJECUTAR CONSULTA", 13, 110, 200, 25, 0)
; GUICtrlSetOnEvent(-1, "EjecutarSQL")
$Button11 = GUICtrlCreateButton("Exportar a EXCEL", 218, 110, 200, 25, 0)
; GUICtrlSetOnEvent(-1, "ExportaExcel")
GUICtrlSetState($Button11, $GUI_DISABLE)
$btn_Limpiar = GUICtrlCreateButton("Limpiar", 423, 110, 100, 25, 0)
; GUICtrlSetOnEvent(-1, "BarreCasa")
$Button10 = GUICtrlCreateButton("SALIR", 551, 110, 133, 25, 0)
GUICtrlSetOnEvent(-1, "FIN")

$Group1 = GUICtrlCreateGroup("", 8, 133, 681, 337)
GUICtrlCreateGroup("", -99, -99, 1, 1)
#EndRegion BOTONES Ejecutar, Exportar y Salir
#Region Barra Progreso
$Progress1 = GUICtrlCreateProgress(32, 464, 609, 33)
GUICtrlSetState(-1, $GUI_hide)
#EndRegion Barra Progreso
#Region CheckBox-UPDATE
$CheckboxUpdate = GUICtrlCreateCheckbox("Permitir UPDATE/INSERT", 120, 482)
;~ $centros[$x][$DenCentro], $coordY, $coordX, 97, 17)
; GUICtrlSetOnEvent($CheckboxUpdate, "CheckboxUpdate_Click")
If 1 Then
	GUICtrlSetState($CheckboxUpdate, $GUI_SHOW)
Else
	GUICtrlSetState($CheckboxUpdate, $GUI_hide)
EndIf
#EndRegion CheckBox-UPDATE
#Region Boton de cambio de color
$ButtonCC = GUICtrlCreateButton("Cambiar Color", 601, 482, 75, 25, 0)
; GUICtrlSetOnEvent(-1, "ButtonCCClick")
$ButtonCG = GUICtrlCreateButton("Color Defecto", 521, 482, 75, 25, 0)
; GUICtrlSetOnEvent(-1, "ButtonCGClick")
If 0 Then
	GUICtrlSetState($ButtonCC, $GUI_hide)
	GUICtrlSetState($ButtonCG, $GUI_hide)
EndIf
#EndRegion Boton de cambio de color
#Region programar
$CheckTemporiza = GUICtrlCreateCheckbox("Temporizar", 280, 482)
; GUICtrlSetOnEvent($CheckTemporiza, "CheckTemporiza")
$ComboH = GUICtrlCreateCombo("", 355, 482, 41, 25)
GUICtrlSetData(-1, "00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23", StringLeft("20", 2))
$ComboM = GUICtrlCreateCombo("", 395, 482, 41, 25)
GUICtrlSetData(-1, "00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59", StringRight("00", 2))
$bt_Destino = GUICtrlCreateButton("Ver Destino", 440, 482)
;~ ; GUICtrlSetOnEvent($bt_Destino, "VerDestino")
GUICtrlSetState($ComboH, $GUI_hide)
GUICtrlSetState($ComboM, $GUI_hide)
GUICtrlSetState($bt_Destino, $GUI_hide)




#Region Animacion entrada
;~ Animacion
_AbrirSkinCrafter($DLL)
_AplicarSkin($Form1, $Skin)
_WinAnimate($Form1, $AW_FADE_IN)

GUISetState(@SW_SHOW)
_WinAPI_RedrawWindow($Form1)
#EndRegion Animacion entrada
#EndRegion ### START Koda GUI section ### Form=c:\documents and settings\n854750\mis documentos\autoit\jxo\conectacentros\forms\consultacentros.kxf

#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			FIN()
		Case $MenuSalir
			FIN()
		Case $Button10
			FIN()
	EndSwitch
WEnd



Func _AbrirSkinCrafter($nDLL)
	$DLLSkCrafter = DllOpen($nDLL)
	DllCall($DLLSkCrafter, "int:cdecl", "InitLicenKeys", "wstr", "SKINCRAFTER", "wstr", "SKINCRAFTER.COM", "wstr", "[email protected]", "wstr", "DEMOSKINCRAFTERLICENCE")
	DllCall($DLLSkCrafter, "int:cdecl", "DefineLanguage", "int", 0)
	Return 1
EndFunc   ;==>_AbrirSkinCrafter

Func _AplicarSkin($Hwnd, $Skin)
	DllCall($DLLSkCrafter, "int:cdecl", "InitDecoration", "int", 1)
	DllCall($DLLSkCrafter, "int:cdecl", "LoadSkinFromFile", "wstr", $Skin)
	DllCall($DLLSkCrafter, "int:cdecl", "ApplySkin")
	DllCall($DLLSkCrafter, "int:cdecl", "DecorateAs", "long", $Hwnd, "long", 1)
	Return 1
EndFunc   ;==>_AplicarSkin

Func FIN()
	DllClose($DLLSkCrafter)
	Exit
EndFunc   ;==>Fin
Es parte de un Sciript que está operativo por completo.
Lo advierto porque hay cosas que aparecen pero no tienen mucho sentido si no se ve el Script completo, como por ejemplo la cantidad de Includes que aparecen, pero que son necesarios para el Programa final... :smt024

A ver si alguno me puede decir donde esta el problema... :smt022 :smt022

Muchas gracias, de cualquier forma!

:smt035 :smt034 :smt035 :smt034 :smt035 :smt035 :smt035
PDF
Hacker del Foro
Mensajes: 152
Registrado: 18 Ene 2013, 23:23

Re: como aplicar skins a mis aplicaciones

Mensaje por PDF »

Al parecer el error está en la funcion DllClose misma :smt017 , ya que al cerrar la ventana se cierra tambien el identificador de la Dll de SkinCrafter y por lo tanto como ya no se encuentra abierta, Autoit Lanza ese error al cerrar :smt045 . Entonces, prueba tu script sin usar DllClose.

Otro consejo, para que el skin sea aplicado correctamente a los controles prueba aplicandolo inmediatamente despues de crear la GUI.

$Form1 = GUICreate("Consulta Centros", 697, 535, -1, -1) ; 193, 115)
_AbrirSkinCrafter($DLL)
_AplicarSkin($Form1, $Skin)


Saludos :smt039
Responder