Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: ton en Marzo 17, 2015, 02:05:10 pm
-
Hola que tal, Uso visual basic 6.0, tengo ActiveSkyn 4.3, me gustaria saber si se puede incluir un archivo skn en un archivo de recurso y posteriormente de ahi llamarlo para poner los skyn en los formularios. Me pueden ayudar con algun codigo para ver si es posible eso. Gracias!
-
Creería q no deberías tener problemas en incluirlo. Incluso le podrias cambiar la extension como para enmascararlo y en ejecución lo extraes y lo cargas.
Usa el buscador en otro momento se trato el tema de los archivos de recursos y tal vez te sirva ese ejemplo.
-
Hola voy a complementar lo que estoy haciendo, Si alguien me puede ayudar a corregirlo seria de mucha ayuda.
1.- Abro Microsoft Visual C++
2.- File -> Nuevo -> Pestaña Files ->Resource Template
3.- Posteriormente en la Ventana que dice Templ1 Presio Boton Derecho y opcion: Insert
4.- Selecciono la opcion "Custom" y busco *.* para que me muestre todos, (por default me pone ico, cur, wav, jpge, frm, htm, )
5.- Posteriormente grabo el archivo con extención *.res (32 bits File Resource)
En Visual Basic 6.0 cargo ese archivo y posteriormente intento leerlo pero no me lo lee no hace nada, el codigo para leerlo uso el siguiente (Nota este codigo lo copie y lo medio modifique de uno que vi en internet):
'-- En un Modulo:
Private Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
Private Function Archivo_Temporal() As String
Dim sSave As String, hOrgFile As Long, hNewFile As Long, bBytes() As Byte
Dim sTemp As String, nSize As Long, Ret As Long
sTemp = String(260, 0)
GetTempFileName Environ("temp"), "TTT", 0, sTemp
Archivo_Temporal = Left$(sTemp, InStr(1, sTemp, Chr$(0)) - 1)
End Function
Function Cargar(ID As Integer) As String
Path = Archivo_Temporal
Dim aDatos() As Byte
' lee los datos en el array de bytes
aDatos = LoadResData(ID, "SKYN")
' abre un archivo para escribir los datos en modo binario
Open Path For Binary Access Write As #1
' escribe el array de bytes para
Put #1, , aDatos
' cierra el fichero
Close
Cargar = Path
End Function
'--- y en el Form1
Private Sub Form_Load()
Skin1.LoadSkin (Cargar(101))
Skin1.ApplySkin Form1.hWnd
End Sub
Edit: Le agregué las etiquetas de Code para que el codigo se pueda entender un poco mejor.
-
pues eso... despues de intentar y buscar por fin pude resolver ese pendiente, con esto doy por cerrado el caso Administrador ya puedes cerrar el caso.
Solucion: El codigo anterior de VB es correcto, lo unico que hice fue que el archivo .res lo genere con un programa (que por aqui buscando en un foro lo mencionaron) se llama XN Resource Editor, y con ese me creo el archivo res sin problemas .