Nuevas NORMAS para el foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse. - Mayo 16, 2008, 07:44:01
Boton Buscar
Inicio Ayuda Calendario Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Visual Basic y Net (Moderador: Tughack)  |  Tema: Mini-Tuto Estilo XP (continuacion) 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Mini-Tuto Estilo XP (continuacion)  (Leído 1264 veces)
sNipeR-
Visitante
« en: Enero 04, 2007, 10:42:13 »

Ola

Buen hace un tiempo he posteado un tuto para cambiar el visual de vuestros proyectos de vb.


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion

Ahora, les dejo algunas mejoras y trukos k pueden ser utiles con esta tecnica:

El .manifest es un poco aburrido, por eso usaremos un editor de resources k tiene la opcion para anadir el manifest por defecto:


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
XN Resource Editor


Lo k tenemos k hacer es compilar nuestro proyecto y en seguida abrimos el .exe con el XN Resource Editor.

Resource > Add Resource > XP Theme Manifest

Guardamos y listo, nuestro programa ya tiene estilo XP, sin necesitar el .manifest. De esta forma el .manifest esta en los recursos del proprio .exe.

Ahora les dejo algunos trukos para algunos controlos de vb:

Para k sea aplicado el estilo xp tenemos k usar o los controlos normales del vb o los controlos del comctl32.dll

Uno de los grandes problemas es aplicar estilo XP a una listview. Porke? Porke la listview del comctl32.dll es una **** , no tenemos opcion de fullrowselect (selecionar toda una linea), gridlines, y tampoco podemos aplicar imagenes de 256 colores usando una imagelist( buen esto ya sera problema de la imagelist  Cheesy )

Ahora la solucion para estos problemas:

FullRowSelect:

En un modulo:

Código:
Option Explicit

Public Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const LVM_FIRST = &H1000
Public Const LVM_SETEXTENDEDLISTVIEWSTYLE = (LVM_FIRST + 54)
Public Const LVM_GETEXTENDEDLISTVIEWSTYLE = (LVM_FIRST + 55)
Public Const LVS_EX_FULLROWSELECT = &H20

En un Form:

Código:
Private Sub Form_Load()
   Call SendMessage(ListView1.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, LVS_EX_FULLROWSELECT, ByVal True)
End Sub

Gridlines:

El mismo metodo del FullRowSelect pero remplazamos la constante LVS_EX_FULLROWSELECT por LVS_EX_GRIDLINES, Osea:

En un modulo:

Código:
Option Explicit

Public Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const LVM_FIRST = &H1000
Public Const LVM_SETEXTENDEDLISTVIEWSTYLE = (LVM_FIRST + 54)
Public Const LVM_GETEXTENDEDLISTVIEWSTYLE = (LVM_FIRST + 55)
Public Const LVS_EX_GRIDLINES = &H1


En un Form:

Código:
Private Sub Form_Load()
   Call SendMessage(ListView1.hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, LVS_EX_GRIDLINES, ByVal True)
End Sub

Imagenes de 256 colores con ImageList (comctl32.dll):

Agregamos una ImageList del mscomctl y ponemos las imagenes k keremos en esa imagelist:

Como esa no es compatible con la listview del comctl32, al ejecutar el proyecto tenemos k cojer las imagenes de la imagelist (mscomctl) y ponerlas en la imagelist (comctl32)

Código:
Option Explicit

Private Sub Form_Load()
Dim i As Integer
   For i = 1 To ilsMSCOMCTL.ListImages.Count
      ilsCOMCTL32.ListImages.Add , , ilsMSCOMCTL.ListImages(i).Picture
   Next i
End Sub

El ultimo problema del estilo XP es el trazo negro en los Command Buttons y OptionButtons kuanto estos son aplicados en frames.

La solucion es simplemente ponerlos en una PictureBox y la PictureBox la ponemos en el frame. De este modo los controlos kedaran normales.

Ahora una sugerencia personal:

Hay kien no les guste el FocusRect en los tabstrips, mismo con el estilo XP keda muy feo (en mi opinion), asi k lo k hago es el seguinte:

Código:
Private Sub Control_GotFocus()
   cmdFocus.SetFocus
End Sub

El cmdFocus es un boton k esta escondido (no invisible o no funciona) y kuando el control k keremos k no tenga focus recibe focus reedirecciona el focus a ese boton.

Uff, creo k es todo, espero comentarios.

Salu2
« Última modificación: Agosto 22, 2007, 12:45:46 por Tughack » En línea
hackmexsatelite
Visitante
« Respuesta #1 en: Enero 04, 2007, 04:47:54 »

Muy Buen Tuto  Grin

Gracias Por el aporte

Saludos
En línea
H4NG3R
Habitual
*****
Desconectado Desconectado

Mensajes: 279

Mientras todos callavan, alguien grito LIBERTAD!

hanger_69@hotmail.com
Ver Perfil
« Respuesta #2 en: Enero 04, 2007, 07:29:24 »

« Última modificación: Enero 06, 2007, 06:38:29 por H4NG3R » En línea

placa4
Habitual
*****
Desconectado Desconectado

Mensajes: 151



Ver Perfil
« Respuesta #3 en: Febrero 25, 2007, 02:54:26 »

muy weno Sniper  Grin Grin Grin Cheesy  Wink Sigue asi!  Wink Wink

Salu2
En línea

El futuro está en versión Beta.

La aleatoriedad no existe, sólo una complejidad tan extrema que el ser humano es aún incapaz de comprenderla.
H4NG3R
Habitual
*****
Desconectado Desconectado

Mensajes: 279

Mientras todos callavan, alguien grito LIBERTAD!

hanger_69@hotmail.com
Ver Perfil
« Respuesta #4 en: Marzo 21, 2007, 09:50:15 »

SNIPER tngo un proyecto acabado i he decubierto que si le agrego el XP THEME me da error en todos los pc's menos el mio i el de mi hermano . . .

Busque el error en el google i no encontre solucion, tendra que ver con windows??

El proyecto sin el theme va 100% -. . .


H4NG3R
En línea

sNipeR-
Visitante
« Respuesta #5 en: Marzo 21, 2007, 10:51:45 »

Kual es el error? A mi siempre me funko 100% en todos los pcs.

Salu2
En línea
H4NG3R
Habitual
*****
Desconectado Desconectado

Mensajes: 279

Mientras todos callavan, alguien grito LIBERTAD!

hanger_69@hotmail.com
Ver Perfil
« Respuesta #6 en: Marzo 21, 2007, 02:04:17 »

jajaja error solucionado, problema kn las declaraciones. ..

Asias, H4NG3R
En línea

0wn3dr4v3n
Recien Llegado
*
Desconectado Desconectado

Mensajes: 7



Ver Perfil
« Respuesta #7 en: Junio 17, 2007, 10:17:35 »

 Cheesy Cheesy Grin Muy buen aporte tio enserio ^^  Grin Cheesy Cheesy
En línea


H4NG3R
Habitual
*****
Desconectado Desconectado

Mensajes: 279

Mientras todos callavan, alguien grito LIBERTAD!

hanger_69@hotmail.com
Ver Perfil
« Respuesta #8 en: Agosto 27, 2007, 08:44:31 »

colega/dios xD

cuentame mas, komo pueod sakar una imagen cualeskiar puesta dentro del exe kn el programa ese el xp resource.

Se peuden poner por ejemplo .ocx o .dll, para evitar instaladoreS??

H4NGER
En línea

-Erick-
Moderación
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1391



Ver Perfil WWW
« Respuesta #9 en: Agosto 27, 2007, 01:41:58 »

colega/dios xD

cuentame mas, komo pueod sakar una imagen cualeskiar puesta dentro del exe kn el programa ese el xp resource.

Se peuden poner por ejemplo .ocx o .dll, para evitar instaladoreS??

H4NGER
Añadelos como resource y lo sacas de ahi  Wink
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
H4NG3R
Habitual
*****
Desconectado Desconectado

Mensajes: 279

Mientras todos callavan, alguien grito LIBERTAD!

hanger_69@hotmail.com
Ver Perfil
« Respuesta #10 en: Agosto 29, 2007, 04:59:50 »

xo no se el codigo para sacarlos pues el unico k uso es una api de iconos en el from . . .

me podrias decir tu el codigo k se usa?

Gracies, H4N3GR
En línea

-Erick-
Moderación
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1391



Ver Perfil WWW
« Respuesta #11 en: Agosto 30, 2007, 07:00:53 »

Esto es para lo de dll,ocx qeu decias...
Bueno tienes que añadir lo que queiras como recurso,supongo que sabrás hacer eso.
Luego en el codigo:
Código:
Dim recurso() As Byte

Private Sub Form_Load()
recurso = LoadResData(101, "CUSTOM")

Open ruta For Binary As #1
Put #1, , recurso
Close #1
End Sub
Ruta debe ser la ruta y el archivo con extension.
Es un ejemplo sencillo  Tongue
Para sacar el icono de un exe,clic derecho en el resource,export resource y ya esta.
« Última modificación: Agosto 30, 2007, 07:06:37 por -Erick- » En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
H4NG3R
Habitual
*****
Desconectado Desconectado

Mensajes: 279

Mientras todos callavan, alguien grito LIBERTAD!

hanger_69@hotmail.com
Ver Perfil
« Respuesta #12 en: Agosto 31, 2007, 12:52:05 »

va de perlas, thx

En línea

guille221191
Colaborador
*****
Desconectado Desconectado

Mensajes: 581


DIOS NO JUEGA A LOS DADOS- A. Einstein


Ver Perfil Email
« Respuesta #13 en: Å¿eptiembre 10, 2007, 03:07:36 »

Hola. A mi me da un error al ejecutarlo:
El volumen para un arvivo ha sido alterado externamente, por lo que el archivo abierto ya no es válido.


GRAcias
En línea

[flash width=400 height=200]http://usuarios.lycos.es/guille221191/firma.swf[/flash]
Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Visual Basic y Net (Moderador: Tughack)  |  Tema: Mini-Tuto Estilo XP (continuacion) « anterior próximo »
Ir a:  
Novedades, Dudas, Comentarios Y Sugerencias, Top 100, Off-Topic, Revista E-Zine, Revista E-Zine, Sistemas operativos libres. , HacK GeneraL, Phreaking, Bug y Exploits, Networking & Wireless, Overclocking, Refrigeracion y demas, Hardware, Electronica Y Robotica, Hack para newbies, Todo Messenger, Troyanos y virus, Programacion, Programacion para webmasters, Software, Cracks & Serialz, P2p, Bittorrent, Elinks, Diseño Grafico, Juegos PC, Mp3, Multimedia, Peliculas Divx, Juegos, Humor y Adultos. (Diversion), Paginas Webs Recomendadas, Videos,


Zona-Musical Juegos online Juego Gratis10 Solucion Hosting Videos De Musica 1juegogratis Dragonjar
Noticias
 Juegos De Coche juegos gratis online juegos Los Foros De Sexe Gratuit Sexo Duro Tierra Messenger Trucos
Ranking-Hits
Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC