Autor Tema: Icono pixelado en el Escritorio y la Barra de titulo  (Leído 7276 veces)

0 Usuarios y 1 Visitante están viendo este tema.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Icono pixelado en el Escritorio y la Barra de titulo
« en: Agosto 30, 2011, 05:29:06 pm »
Hay alguna manera para arreglar esto en VB6. Para que al crear un acceso directo en el Escritorio  en la barra de titulo para que los iconos no queden pixelado.

Ejemplos:




CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Icono pixelado en el Escritorio y la Barra de titulo
« Respuesta #1 en: Agosto 30, 2011, 07:14:28 pm »
Hola para que se vea un icono con una alta resolución tenes que poner dentro de un archivo de recursos un Icono de 32 bits con un nombre que lo muestre como primario por ejemplo "A" o "AMain" con números no recuerdo si "1" es valido o "0" no recuerdo cual es el que utiliza VB6 pero bien "AMain" no te va a fallar

para la barra de titulo del formulario podes usar esta función (solo lo vas a ver cuando este compilada.) leerá desde el archivo de recurso el icono "AMain" y lo pondra en el form

Código: [Seleccionar]

Option Explicit
Private Declare Function LoadImage Lib "User32" Alias "LoadImageA" (ByVal hInst As Long, ByVal lpsz As String, ByVal dwImageType As Long, ByVal dwDesiredWidth As Long, ByVal dwDesiredHeight As Long, ByVal dwFlags As Long) As Long
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
Private Const IMAGE_ICON        As Long = 1
Private Const ICON_BIG          As Long = 1
Private Const ICON_SMALL        As Long = 0
Private Const WM_SETICON        As Long = &H80
Private Const LR_LOADFROMFILE   As Long = &H10
Private Const LR_SHARED         As Long = &H8000&

Private Sub Form_Load()
    SetWindowIcon Me.hWnd, "AMain", True
End Sub
Private Sub SetWindowIcon(hWnd As Long, Address As String, FromRes As Boolean)
    Dim hIcon As Long
    hIcon = LoadImage(App.hInstance, Address, IMAGE_ICON, 32, 32, IIf(FromRes, LR_SHARED, LR_LOADFROMFILE))
    If hIcon Then Call SendMessage(hWnd, WM_SETICON, ICON_BIG, ByVal hIcon)
   
    hIcon = LoadImage(App.hInstance, Address, IMAGE_ICON, 16, 16, IIf(FromRes, LR_SHARED, LR_LOADFROMFILE))
    If hIcon Then Call SendMessage(hWnd, WM_SETICON, ICON_SMALL, ByVal hIcon)
End Sub

Saludos.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Icono pixelado en el Escritorio y la Barra de titulo
« Respuesta #2 en: Agosto 30, 2011, 08:36:13 pm »
De maravilla funciona Leandro. Le agregue 48,48 y 64,64 pero no me lee eso siempre queda en 32

Código: [Seleccionar]
Private Sub SetWindowIcon(hWnd As Long, Address As String, FromRes As Boolean)
    Dim hIcon As Long

    hIcon = LoadImage(App.hInstance, Address, IMAGE_ICON, 64, 64, IIf(FromRes, LR_SHARED, LR_LOADFROMFILE))
    If hIcon Then Call SendMessage(hWnd, WM_SETICON, ICON_BIG, ByVal hIcon)

    hIcon = LoadImage(App.hInstance, Address, IMAGE_ICON, 48, 48, IIf(FromRes, LR_SHARED, LR_LOADFROMFILE))
    If hIcon Then Call SendMessage(hWnd, WM_SETICON, ICON_BIG, ByVal hIcon)

    hIcon = LoadImage(App.hInstance, Address, IMAGE_ICON, 32, 32, IIf(FromRes, LR_SHARED, LR_LOADFROMFILE))
    If hIcon Then Call SendMessage(hWnd, WM_SETICON, ICON_BIG, ByVal hIcon)
   
    hIcon = LoadImage(App.hInstance, Address, IMAGE_ICON, 16, 16, IIf(FromRes, LR_SHARED, LR_LOADFROMFILE))
    If hIcon Then Call SendMessage(hWnd, WM_SETICON, ICON_SMALL, ByVal hIcon)
End Sub

Pero de igual forma muchas gracias quedaron muy bien los iconos.
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Icono pixelado en el Escritorio y la Barra de titulo
« Respuesta #3 en: Agosto 30, 2011, 08:39:25 pm »
Estas seguro que ese icono tiene imagenes en distintas resoluciones? Mira que el windows, si no tiene, lo redimensiona :P

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Icono pixelado en el Escritorio y la Barra de titulo
« Respuesta #4 en: Agosto 30, 2011, 09:42:56 pm »
Estas seguro que ese icono tiene imagenes en distintas resoluciones? Mira que el windows, si no tiene, lo redimensiona :P

Si si seguro acá te dejo para que veas.

CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Icono pixelado en el Escritorio y la Barra de titulo
« Respuesta #5 en: Agosto 30, 2011, 10:25:35 pm »
es que 32 el mas grande (ese se utiliza por lo general para mostrar en la barra de traeas, Alt Tab,  y no se si en otros mas)  para visualizar en una carpeta o escritorio si se utilizan las otras dimenciones mas grande pero de eso se encarga windows, asi que no le pongas dentro de la funcion el resto de las dimenciones.

Saludos.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Icono pixelado en el Escritorio y la Barra de titulo
« Respuesta #6 en: Agosto 30, 2011, 11:24:15 pm »
OK OK!!, con el de 32 ya queda luego mas que perfecto, solo estaba probando.


Saludos y gracias !!!  ;D
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

k_arlytos

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +2/-4
    • Ver Perfil
Re:Icono pixelado en el Escritorio y la Barra de titulo
« Respuesta #7 en: Abril 21, 2016, 08:31:58 pm »
NO ME FUNCIONA :(, QUE TIPO DE ACHIVO ACEPTA? ESTOY PROBANDO CON *.ICO Y PNG estoy usando w10
« última modificación: Abril 21, 2016, 08:50:44 pm por k_arlytos »
"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"