Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: SγиtαxEяяoя en 30 Mayo 2013, 19:01 PM

Título: Mostrar/Ocultar
Publicado por: SγиtαxEяяoя en 30 Mayo 2013, 19:01 PM
Hola. me pregunto si hay algun codigo que otorgue la funcion que al pasar el mouse cambie la imagen de un picturebox y que al quitar el mouse vuelva a la imagen anterior

(http://i.imm.io/17H0o.png)
Título: Re: Mostrar/Ocultar
Publicado por: Eleкtro en 30 Mayo 2013, 19:17 PM
Usa el evento "MouseEnter" y "MouseLeave", es así de fácil.

Saludos!
Título: Re: Mostrar/Ocultar
Publicado por: z3nth10n en 30 Mayo 2013, 19:48 PM
Yo tengo un code:

Código (vbnet) [Seleccionar]
    Private Sub picMini_MouseEnter(sender As Object, e As EventArgs) Handles picMini.MouseEnter
        sender.Image = Mini_Off
    End Sub

    Private Sub picMini_MouseLeave(sender As Object, e As EventArgs) Handles picMini.MouseLeave
        sender.Image = Mini_On
    End Sub


Recuerda poner en el Form load alguna imagen.

Código (vbnet) [Seleccionar]
    Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        picMini.Image = Mini_On 'Aqui se carga la que se va a mostrar por defecto
        picMini.BackColor = Color.Transparent 'Por si tiene transparencias la imagen


Y como supondrás el Mini_Off es un Dim...

Código (vbnet) [Seleccionar]
    Dim Mini_Off As Image = Image.FromFile(".\Art\Buttons\Mini_Off.png")
    Dim Mini_On As Image = Image.FromFile(".\Art\Buttons\Mini_On.png")


Un saludo.
Título: Re: Mostrar/Ocultar
Publicado por: SγиtαxEяяoя en 30 Mayo 2013, 21:50 PM
Aprovecho de una ves... y como hago para no mover el form.. es decir bloquearlo

que cuando se abra no se pueda mover (http://jquery-ui.googlecode.com/svn/tags/1.5rc1/tests/cursors/mac/move.png)
Título: Re: Mostrar/Ocultar
Publicado por: XresH en 31 Mayo 2013, 00:57 AM
La propiedad FormBorderStyle en valor 0 quita el contorno del Formulario, por lo que no se puede mover, es una alternativa rápida, no se si querés algo mas elaborado y mantener los bordes y botones, habría que trabajar sobre algunos eventos cuando detecte movimiento, creo que es Form_Move no me acuerdo bien.


Saludos.
Título: Re: Mostrar/Ocultar
Publicado por: Eleкtro en 31 Mayo 2013, 09:24 AM
Cita de: SyntaxError404 en 30 Mayo 2013, 21:50 PM
Aprovecho de una ves... y como hago para no mover el form.. es decir bloquearlo

que cuando se abra no se pueda mover (http://jquery-ui.googlecode.com/svn/tags/1.5rc1/tests/cursors/mac/move.png)

La manera sencilla:

Código (vbnet) [Seleccionar]
    Dim Fixed_Location As Point ' = New Point(X, Y) ' Seteamos el valor por defecto.

    Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
        ' ...O seteamos el valor por defecto cuando la ventana se haya creado.
        Fixed_Location = New Point(Me.Location.X, Me.Location.Y)
    End Sub

    Private Sub Form1_Move(sender As Object, e As EventArgs) Handles MyBase.Move
        If Me.Visible Then Me.Location = Fixed_Location
    End Sub


Después de hacerlo me he encontrado con el problema de que el layer de la ventana se sigue dibujando por la pantalla si se mantiene el botón del mouse para intentar arrastrarlo, es una cosa sin importancia, pero como me gusta la eficacia, al final he buscado la manera de hacerlo usando los mensajes de Windows:

(Este código no es mío)
Código (vbnet) [Seleccionar]
#Region " Cancel Move Form "

    ' Examples:
    ' Me.Moveable = False
    ' Me.Moveable = True

    Private Declare Function EnableMenuItem Lib "user32.dll" Alias "EnableMenuItem" (ByVal hMenu As IntPtr, ByVal uIDEnableItem As Int32, ByVal uEnable As Int32) As Int32

    Private bMoveable As Boolean = True

    Public Overridable Property Moveable() As Boolean
        Get
            Return bMoveable
        End Get
        Set(ByVal Value As Boolean)
            If bMoveable <> Value Then
                bMoveable = Value
            End If
        End Set
    End Property

    Protected Overrides Sub WndProc(ByRef m As Message)

        If m.Msg = &H117& Then
            'Handles popup of system menu.
            If m.LParam.ToInt32 \ 65536 <> 0 Then 'divide by 65536 to get hiword.
                Dim AbleFlags As Int32 = &H0&
                If Not Moveable Then AbleFlags = &H2& Or &H1&
                EnableMenuItem(m.WParam, &HF010&, &H0& Or AbleFlags)
            End If
        End If

        If Not Moveable Then
            'Cancels any attempt to drag the window by it's caption.
            If m.Msg = &HA1 Then If m.WParam.ToInt32 = &H2 Then Return
            'Redundant but cancels any clicks on the Move system menu item.
            If m.Msg = &H112 Then If (m.WParam.ToInt32 And &HFFF0) = &HF010& Then Return
        End If

        'Return control to base message handler.
        MyBase.WndProc(m)

    End Sub

#End Region


Saludos...
Título: Re: Mostrar/Ocultar
Publicado por: XresH en 31 Mayo 2013, 09:39 AM
Cita de: EleKtro H@cker en 31 Mayo 2013, 09:24 AM
La manera sencilla:

Código (vbnet) [Seleccionar]
    Dim Fixed_Location As Point ' = New Point(X, Y) ' Seteamos el valor por defecto.

    Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
        ' ...O seteamos el valor por defecto cuando la ventana se haya creado.
        Fixed_Location = New Point(Me.Location.X, Me.Location.Y)
    End Sub

    Private Sub Form1_Move(sender As Object, e As EventArgs) Handles MyBase.Move
        If Me.Visible Then Me.Location = Fixed_Location
    End Sub


Después de hacerlo me he encontrado con el problema de que el layer de la ventana se sigue dibujando por la pantalla si se mantiene el botón del mouse para intentar arrastrarlo, es una cosa sin importancia, pero como me gusta la eficacia, al final he buscado la manera de hacerlo usando los mensajes de Windows:

(Este código no es mío)
Código (vbnet) [Seleccionar]
#Region " Cancel Move Form "

    ' Examples:
    ' Me.Moveable = False
    ' Me.Moveable = True

    Private Declare Function EnableMenuItem Lib "user32.dll" Alias "EnableMenuItem" (ByVal hMenu As IntPtr, ByVal uIDEnableItem As Int32, ByVal uEnable As Int32) As Int32

    Private bMoveable As Boolean = True

    Public Overridable Property Moveable() As Boolean
        Get
            Return bMoveable
        End Get
        Set(ByVal Value As Boolean)
            If bMoveable <> Value Then
                bMoveable = Value
            End If
        End Set
    End Property

    Protected Overrides Sub WndProc(ByRef m As Message)

        If m.Msg = &H117& Then
            'Handles popup of system menu.
            If m.LParam.ToInt32 \ 65536 <> 0 Then 'divide by 65536 to get hiword.
                Dim AbleFlags As Int32 = &H0&
                If Not Moveable Then AbleFlags = &H2& Or &H1&
                EnableMenuItem(m.WParam, &HF010&, &H0& Or AbleFlags)
            End If
        End If

        If Not Moveable Then
            'Cancels any attempt to drag the window by it's caption.
            If m.Msg = &HA1 Then If m.WParam.ToInt32 = &H2 Then Return
            'Redundant but cancels any clicks on the Move system menu item.
            If m.Msg = &H112 Then If (m.WParam.ToInt32 And &HFFF0) = &HF010& Then Return
        End If

        'Return control to base message handler.
        MyBase.WndProc(m)

    End Sub

#End Region


Saludos...

Lo probe y funciona de 10, gracias por el aporte Electro!

Saludos!
Título: Re: Mostrar/Ocultar
Publicado por: SγиtαxEяяoя en 31 Mayo 2013, 20:38 PM
Tengo otra duda, al seleccionar un Form automaticamente se muestra la barra de tareas :(

como puedo solucionar este problema ??'


Edito:


a lo que me refiero es que estoy en un juego "FullScreen" y al form le di la propiedad de "TopMost" pero al seleccionar algo del form se muestra la barra de tareas.. no se si me explico bien
Título: Re: Mostrar/Ocultar
Publicado por: Eleкtro en 31 Mayo 2013, 20:50 PM
Cita de: SyntaxError404 en 31 Mayo 2013, 20:38 PM
Tengo otra duda, al seleccionar un Form automaticamente se muestra la barra de tareas :(

como puedo solucionar este problema ??'

¿Que automáticamente se muestra la barra de taréas, o que automáticamente se muestra el Item de la aplicación en la barra de tareas?

Si es lo segundo entonces una manera de solucionarlo es leyendo el nombre y la descripción de las Propiedades de un Fom... hazlo y pronto sabrás porque te lo dije  :P

Un saludo.
Título: Re: Mostrar/Ocultar
Publicado por: z3nth10n en 31 Mayo 2013, 20:53 PM
Elektro tienes razón el es peor que yo  :o :o
Título: Re: Mostrar/Ocultar
Publicado por: SγиtαxEяяoя en 31 Mayo 2013, 20:58 PM
Cita de: Seazoux en 31 Mayo 2013, 20:53 PM
Elektro tienes razón el es peor que yo  :o :o

"Peor" en que sentido..
en que tenga una duda pida que me la aclaren o que no nací con todos los conocimientos

me siento una molestia por preguntar  :¬¬ :¬¬ :¬¬

Título: Re: Mostrar/Ocultar
Publicado por: z3nth10n en 31 Mayo 2013, 21:03 PM
A ver xD No debería a ver comentado nada porque te vas a echar encima mía...

Estuve hablando con Elektro y bueno me dijo que progresé en lo que es darme cuenta de las cosas...

Tu eres peor en ese sentido xD
No más...  ;) ;)
Título: Re: Mostrar/Ocultar
Publicado por: SγиtαxEяяoя en 31 Mayo 2013, 21:07 PM
Cita de: Seazoux en 31 Mayo 2013, 21:03 PM
A ver xD No debería a ver comentado nada porque te vas a echar encima mía...

Estuve hablando con Elektro y bueno me dijo que progresé en lo que es darme cuenta de las cosas...

Tu eres peor en ese sentido xD
No más...  ;) ;)

Y eso te afecta en algo???
Oye si no vas a decir nada productivo no entres en mis temas y punto :) asi no tenemos malos entendidos...

y como ya dije.. no naci sabiendo las cosas.. y me importa un carajo si tu progresas o no  :¬¬ :¬¬ :¬¬


Cita de: Seazoux en 31 Mayo 2013, 21:13 PM
Perdón... Ya se que eres principiante... No debía a ver dicho nada...  :laugh:

Sorry... xD
PD: Un poco troll a veces si que soy...  :P

Que bueno que lo sepas, por lo menos no soy arrogante y engreído por saber algo...
Y tu crees que ami me importa si eres o no un pu** "Troll" ???

PD: No le veo ni un pu** chiste "Troll" a lo que acabas de decir... decir una estupidez te hace ser troll
Título: Re: Mostrar/Ocultar
Publicado por: z3nth10n en 31 Mayo 2013, 21:13 PM
Perdón... Ya se que eres principiante... No debía a ver dicho nada...  :laugh:

Sorry... xD
PD: Un poco troll a veces si que soy...  :P
Título: Re: Mostrar/Ocultar
Publicado por: Eleкtro en 31 Mayo 2013, 21:50 PM
No creo que Seazoux haya sido engreido y/o arrogante porque de hecho no creo que el sepa solucionar este problema así que poco más que "troll" puede ser xD

...Ahora en serio, aquí los 3 somos principiantes, unos con más tiempo que otros, pero nada más.






@Syntaxerror404
¿Te miraste la propiedad "ShowInTaskbar"?, ¿Es eso lo que buscabas?, sinó... ¿puedes dar más detalles del problema?

Sino es eso entonces me imagino que lo que intentabas decir es que tienes la barra de tareas en modo "esconder automáticamente" y que cuando seleccionas la aplicación en ese momento la barra de tareas se restaura (se vuelve visible), imagino que para eso habrá que usar APIs, aunque se puede hacer mediante una clave de registro (Si en algo soy experto es en customizar Windows), pero eso requiere un reinicio de sesión/PC.

Salu2
Título: Re: Mostrar/Ocultar
Publicado por: SγиtαxEяяoя en 1 Junio 2013, 09:00 AM
Cita de: EleKtro H@cker en 31 Mayo 2013, 21:50 PM
@Syntaxerror404
¿Te miraste la propiedad "ShowInTaskbar"?, ¿Es eso lo que buscabas?, sinó... ¿puedes dar más detalles del problema?

No, eso no es lo que busco... pero igual ya me las arregle y lo solucione :)

PD: No se soluciono sigue el igual :/
Título: Re: Mostrar/Ocultar
Publicado por: SγиtαxEяяoя en 4 Junio 2013, 17:47 PM
Cita de: EleKtro H@cker en 31 Mayo 2013, 21:50 PM
@Syntaxerror404
¿puedes dar más detalles del problema?

Bueno dare mas detalles. (Con imagenes)  :laugh: :xD


Tengo un juego y lo ejecuto en FullScreen y a mi programa le puse un boton de "TopMost" para tener siempre en frente la aplicacion

(http://i.imm.io/18gb0.png)

Pero cuando selecciono el programa este automaticamente me muestra la barra de tareas

(http://i.imm.io/18gaU.png)
Título: Re: Mostrar/Ocultar
Publicado por: Eleкtro en 4 Junio 2013, 18:50 PM
Creo que djiste que no era esto, pero si que es:
Cita de: EleKtro H@cker en 31 Mayo 2013, 21:50 PM
me imagino que lo que intentabas decir es que tienes la barra de tareas en modo "esconder automáticamente"
y que cuando seleccionas la aplicación en ese momento la barra de tareas se restaura (se vuelve visible)

¿Has probado a modificar la propiedad SHOWINTASKBAR a FALSE como te dije?, si no muestras el icono de la aplicación en el taskbar imagino que el taskbar no tendría motivos para "saltar".

Si eso no es suficiente, entonces como ya te dije hay que usar APIs: http://www.codeproject.com/Articles/25572/Hiding-the-Taskbar-and-Startmenu-start-orb-in-Wind

Taskbar.Show()
Taskbar.Hide()


Saludos
Título: Re: Mostrar/Ocultar
Publicado por: SγиtαxEяяoя en 4 Junio 2013, 18:58 PM
Cita de: EleKtro H@cker en  4 Junio 2013, 18:50 PM
Si eso no es suficiente, entonces como ya te dije hay que usar APIs: http://www.codeproject.com/Articles/25572/Hiding-the-Taskbar-and-Startmenu-start-orb-in-Wind

Si use como me lo dijistes. pero tendre que usar las apis del proyecto que me pasastes

;) Gracias

Edito, es codigo de C#

XD tendre que pasarlo a VB.NET
Título: Re: Mostrar/Ocultar
Publicado por: Eleкtro en 4 Junio 2013, 19:05 PM
Cita de: SγиtαxEяяoя en  4 Junio 2013, 18:58 PM
Edito, es codigo de C#

XD tendre que pasarlo a VB.NET

Haz una dll con esa class "taskbar.cs" y luego referencias la dll a tu proyecto y listo.

No intentes traducir el code a VB, no vas a saber ni a poder hacerlo, los traductores online no saben traducirlo,
En el code de C# se llama a una función sin parámetros como si fuese un parámetro en si mismo, y eso en VB no sé como sería el equivalente.

Creo que haré una pregunta sobre como traducir ese maldita código ...sino posteas tu la misma pregunta antes que yo xD