Autor Tema: Escritorio de Windows Vista  (Leído 7525 veces)

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

FreddyJ

  • Kilobyte
  • **
  • Mensajes: 51
  • Reputación: +0/-2
    • Ver Perfil
Escritorio de Windows Vista
« en: Noviembre 30, 2010, 03:01:44 pm »
Quisiera saber si alguien tiene lo que está en el escritorio de Windows Vista.
En este caso esta en la parte de arriba, pero se puede colocar en cualquier parte del escritorio.

Vease en la imagen:


« última modificación: Diciembre 15, 2010, 03:39:57 pm por xkiz »

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Escritorio de Windows Vista
« Respuesta #1 en: Noviembre 30, 2010, 03:10:41 pm »
Eso es dockear un formulario a un borde de la pantalla.

Que es lo que precisas hacer? Dockear un formulario? hacer que se oculte/muestre ? ....

FreddyJ

  • Kilobyte
  • **
  • Mensajes: 51
  • Reputación: +0/-2
    • Ver Perfil
Re:Escritorio de Windows Vista
« Respuesta #2 en: Noviembre 30, 2010, 03:39:19 pm »
Si, Bueno que tome esa forma cuando se seleccione algo del menú. Que se oculte y muestre, eso no lo hace en vista.

Quiero hacer como un menu fijo, donde estan 5 opciones y al momento de seleccionar una que se agrande la imagen y vuelva a su normalidad.

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Escritorio de Windows Vista
« Respuesta #3 en: Noviembre 30, 2010, 03:45:33 pm »
con el ucImage y ucImageList biene uno simulando una ToolBar que hace precisamente eso.

Ahora tu encargate de personalizarlo, dockearlo y que se muestre y oculte solo :)

FreddyJ

  • Kilobyte
  • **
  • Mensajes: 51
  • Reputación: +0/-2
    • Ver Perfil
Re:Escritorio de Windows Vista
« Respuesta #4 en: Noviembre 30, 2010, 04:01:39 pm »
Ok Leandro. Pero hacer que tome la posición en forma de curva, el ejemplo que me acabas de dar me soluciona mucho. Gracias de nate mano.

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Escritorio de Windows Vista
« Respuesta #5 en: Noviembre 30, 2010, 08:34:09 pm »
Forma de curva? No entiendo, podrias explicarte mejor? (no tengo la barrita esa yo, no me gusta XD)

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Escritorio de Windows Vista
« Respuesta #6 en: Noviembre 30, 2010, 11:17:30 pm »
mirate este link es lo que vos buscas
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=55352&lngWId=1

pero bueno para modificarlo tenes que tener conosimientos sobre las apis que utiliza.

Saludos.

xmbeat

  • Kilobyte
  • **
  • Mensajes: 84
  • Reputación: +3/-1
  • la vida no tiene sentido sin Dios
    • Ver Perfil
Re:Escritorio de Windows Vista
« Respuesta #7 en: Diciembre 01, 2010, 01:16:16 am »
Mira este ejemplo:
Código: (vb) [Seleccionar]
Private Declare Function ExtraerIconoLib "shell32.dll" Alias "ExtractIconExA" (ByVal lpszFile As String,ByVal nIconIndex As Long, phiconLarge As Long, phiconSmall As Long,ByVal nIcons As Long) As Long
Private Declare Function DibujarIconoLib "user32" Alias "DrawIconEx" (ByVal hdc As Long, ByVal xLeft AsLong, ByVal yTop As Long, ByVal hIcon As Long, ByVal cxWidth As Long,ByVal cyWidth As Long, ByVal istepIfAniCur As Long, ByValhbrFlickerFreeDraw As Long, ByVal diFlags As Long) As Long
Private Declare Function EliminarIcono Lib "user32" Alias "DestroyIcon" (ByVal hIcon As Long) As Long
Private Type MenuItem
    X As Long
    Y As Long
    Width As Long
    Height As Long
End Type
Private DMenu(4) As MenuItem

Private Sub Form_Load()
Me.AutoRedraw = True
Me.ScaleMode = vbPixels
End Sub

Private Sub Form_LostFocus()

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim Distancia   As Long
    Dim Top         As Long
    Dim TamMin      As Long
    Dim TamMax      As Long
    Dim DisActuar   As Long
    Dim CX          As Long
    Dim CY          As Long
    Dim I           As Long
    Dim Espaciado   As Long
    Dim tLeftMin    As Long
    Dim Icono       As Long
    Dim nWidth      As Long
    Espaciado = 10
    Top = 80
    TamMax = 96
    TamMin = 36
    DisActuar = 122
    'tLeftMin = (Me.ScaleWidth - ((TamMin + Espaciado) * (UBound(DMenu)))) / 2
    Cls
    For I = LBound(DMenu) To UBound(DMenu)
        With DMenu(I)
            CY = .Y + .Height / 2
            CX = .X + .Width / 2
            Distancia = Sqr((X - CX) ^ 2 + (Y - CY) ^ 2)
            If Distancia <= DisActuar Then 'si la distancia es menor o igual a lo minimo
                .Width = TamMin + (DisActuar - Distancia) * (TamMax - TamMin) / DisActuar
                .Height = .Width
                .Y = Top - .Height / 2
            Else
               
                .Width = TamMin
                .Height = TamMin
                .Y = Top - .Height / 2
            End If
           
            If I > LBound(DMenu) Then
                .X = DMenu(I - 1).X + DMenu(I - 1).Width + Espaciado
            Else
                .X = tLeftMin - .Width / 2
            End If
         
           
            'Call ExtraerIcono("shell32.dll", I, Icono, ByVal 0&, 1)
            'Call DibujarIcono(Me.hdc, .X, .Y, Icono, .Width, .Height, 0, 0, &H3)
            'Call EliminarIcono(Icono)
        End With
    Next
    nWidth = (DMenu(UBound(DMenu)).X + DMenu(UBound(DMenu)).Width) - DMenu(LBound(DMenu)).X
    tLeftMin = (Me.ScaleWidth - nWidth) / 2
    For I = LBound(DMenu) To UBound(DMenu)
        With DMenu(I)
            If I > LBound(DMenu) Then
                .X = DMenu(I - 1).X + DMenu(I - 1).Width + Espaciado
            Else
                .X = tLeftMin
            End If
            Call ExtraerIcono("shell32.dll", I + 22, Icono, ByVal 0&, 1)
            Call DibujarIcono(Me.hdc, .X, .Y, Icono, .Width, .Height, 0, 0, &H3)
            Call EliminarIcono(Icono)
        End With
       
    Next
    Me.Refresh
End Sub
'on progress
'Private Function IsItemHover(Item As MenuItem, X As Long, Y As Long) As Boolean
'With Item
'    If X >= .X And .X + .Width >= X And .Y <= Y And .Y + .Height >= Y Then
''        IsItemHover = True
 '   End If
'End With
'End Function
« última modificación: Diciembre 02, 2010, 05:33:29 am por xkiz »
El hombre encuentra a Dios detrás de cada puerta que la ciencia logra abrir. -Einstein

lucius

  • Gigabyte
  • ****
  • Mensajes: 263
  • Reputación: +6/-5
    • Ver Perfil
Re:Escritorio de Windows Vista
« Respuesta #8 en: Diciembre 02, 2010, 01:17:18 am »
Si te sirve de algo tambien hay programa que funciona para windows xp
rocketdock.com

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:Escritorio de Windows Vista
« Respuesta #9 en: Diciembre 02, 2010, 10:51:33 am »
Yo use ese por referencia y arme uno...! Ese ejemplo de Leandro es el mas acertado, aunque se puede mejorar muchisimo...!
Miguel Núñez.

FreddyJ

  • Kilobyte
  • **
  • Mensajes: 51
  • Reputación: +0/-2
    • Ver Perfil
Re:Escritorio de Windows Vista
« Respuesta #10 en: Diciembre 15, 2010, 03:02:09 pm »
Qué Api exactamente es la que se encarga de dar esa forma, con respecto al ejemplo de Miguel y Leandro.?