Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - EddyW

#101
Voy a descargarlo al rato, admiro tus codes ;D

Yo no termine el mio, tenia problemas con enviar la imagen seguramente aprendo algo de esto :D
Con tu permiso.., puedo postearlo en otro foro? donde seguramente les dará gusto saber de una aplicación como esta ;)

SaluDOS!!!
#102
Cita de: cobein en  3 Febrero 2010, 04:12 AM
Si es por elegir... Me quedo con el mio! xD

Private Sub Form_Load()
    Call Timer1_Timer
End Sub

Private Sub Timer1_Timer()
    Timer1.Interval = (Timer1.Interval + 10) Mod 200
    Me.Visible = Not Me.Visible Or Timer1.Interval = 0
End Sub

Eso es trampa ¬¬
XD, ok pensé en usar "Mod" pero nah, nadie usa Switch ni IIf ;D

SaluDOS!!!
PD: Lo haré en una sola linea... xD
#103
Cita de: seba123neo en 30 Enero 2010, 16:51 PM
¿ estos son los codigo de PortalHacker o yo estoy borracho ?

Cambiar el color de los bordes de un Frame y un TextBox simulándolos mediante un control Shape
Si son de PortalHacker ahí fue posteado originalmente :D

El del Link que pusiste, no, no se de quien serán..
Cita de: BlackZeroX▓▓▒▒░░ en 30 Enero 2010, 18:59 PM
.
Exactamente aun que la vdd este se ve bien a diferencia del supuesto skin que es el que no me gusta para nada de nada.

Temibles Lunas!¡.
.
Si a mi tampoco me gusto la idea de que sea un supuesto Skin ya que al moverlo el control Shape se quedaría aun ahí :P
Pero lo hice en caso de una emergencia XD, quería que la apariencia cambiara un poco sin usar muchos recursos, y sin usar ActiveSkin ;)

SaluDOS!!!
#104
Cita de: BlackZeroX▓▓▒▒░░ en 30 Enero 2010, 07:59 AM
Usa geshi hermano:

code=vb

Edito:

Tu código se puede optimizar bastante deja lo recreo a mi manera ( Ya pongo aquí el código):

Temibles unas!¡
.
No use geshi por que el algunos codes cuando contenía Tabulaciones salían como "&noseque" pero intentare en la próxima ;)

Ya se que se puede optimizar!!!   :xD
Por que no leen todo el post  :-(

Ahí puse el propósito del cual hice ese post, era para unas practicas para entrar al "VBLab 1" (De otro foro) el mas sencillo :)
Yo prefiero hacer algo simple como esto sin API's, ahorro muchas mas lineas  :xD
Aquí mi propio code optimizado:
Código (vb) [Seleccionar]
Private Sub Form_Load()
    Timer1.Interval = 1
End Sub

Private Sub Timer1_Timer()
Me.Visible = Switch(Timer1.Interval >= 200, True, Timer1.Interval <> 200, IIf(Me.Visible, False, True))
Timer1.Interval = Switch(Timer1.Interval < 200, Timer1.Interval + 10, True, 0)
End Sub

Colocas un Timer (Timer1) y Copy And Paste ;)
Este debería ser el mismo ejercicio pero para el Lab 3  :xD

SaluDOS!!!
#105
Si.., pero por lo menos a mi no me gustaría tener un montón de eventos GotFocus y LostFocus si es que usaría muchos TextBox..
y la idea no solo se aplica en TextBox puede ser en otros controles también ;)

SaluDOS!!!
#106
Este post lo hice en otro foro, mas abajo se menciona para que..
Ignoren lo de "entrar al Lab"  ;D


El proposito de este post es mas el de ayudar a que los users aprendan algunas funciones utiles sobre todo las usadas para entrar al Lab:

Que se usa:
  • Un timer (Nombre: Timer1)
  • Case
  • IIF
    • If
    • Funciones
    • Sub's
    • Variables

      Si no quedo claro,  :laugh: añaden un Timer, y copian el code y lo ejecutan y lo estudian  ;)
      No creo que haga falta la explicacion pero si hay dudas pregunten:
      Dim TiempoAtenuacion As Long

      Private Sub Form_Load()
      TiempoAtenuacion = 10
      Timer1.Interval = 10
      End Sub

      Private Sub Timer1_Timer()
      Select Case TiempoAtenuacion
          Case Is = 150
              Timer1.Interval = 0
              Timer1.Enabled = False
              Me.Show
          Case Else
              Call Atenuar
              Call SumarIntervalo
      End Select
      TiempoAtenuacion = Timer1.Interval
      End Sub

      Private Function Atenuar()
      Dim Estado As String
      Estado = IIf(Me.Visible, "Encendido", "Apagado")
      If Estado = "Encendido" Then
          Me.Hide
      ElseIf Estado = "Apagado" Then
          Me.Show
      End If
      End Function

      Private Sub SumarIntervalo()
          Timer1.Interval = Timer1.Interval + 5
      End Sub

      Espero le sirva a alguien ;)

      SaluDOS!!!
#107
Cambiar de color un TextBox al recibir o perder el enfoque - Api GetFocus

Esta vez no es una funcion, todo el papeleo lo cumple un Timer..
Es sencillo usamos la Api GetFocus para saber el Handle del objeto tiene el enfoque, luego recorremos todos los controles del form1 buscando a que objeto pertenece el Handle, al encontrarlo verificamos si es un TextBox con la función TypeName propia de VB6, sin mas que decir un Screen y el código:
(Aclaro que el ejemplo esta basado en la descripcion de la OCX de (Este Link))


Es posible cambiar el color, no es complicado hacerlo..
El codigo; declaramos la API y luego añadimos un Timer1 a nuestro Form1 y establecemos la propiedad Interval a 1:
Private Declare Function GetFocus Lib "user32" () As Long

Private Sub Timer1_Timer()
On Error Resume Next
Dim Obj As Object, BackBackup As Long
For Each Obj In Form1.Controls
    If (TypeName(Obj) = "TextBox" Or TypeName(Obj) = "ComboBox") _
    And GetFocus = Obj.hWnd Then
        If Err Then
            Err.Clear
        Else
        BackBackup = Obj.BackColor
        Do
        If Obj.hWnd = GetFocus Then
            Obj.BackColor = vbGreen
        Else
            Obj.BackColor = BackBackup
            Exit Sub
        End If: DoEvents
        Loop
        End If
    End If
    DoEvents
Next
End Sub

Espero les guste y les sea de utilidad.. ;)

SaluDOS!!!
#108
ApplyStyle

Son dos funciones sencillas pero útiles, (ApplyStyle y DestroyApplyStyle) las cree para un programa, usa el Objeto Shape que es creado en tiempo de ejecución para crear los bordes de los objetos, dejo un screen:

Aqui el code:
Código (ApplyStyle) [Seleccionar]
Private Function ApplyStyle(ByVal Obj As Object, Optional ByVal Tipo As BorderStyleConstants, _
        Optional ByVal Color As Long) As Long
On Error GoTo CreateObjectLine: Randomize
CreateObjectLine: ' Etiqueta, si ocurre un error al crear la linea, intenta de nuevo
With Me.Controls.Add("VB.Shape", "ShapeGrap" & CLng((CLng(Rnd * 999) * 999) + Err.Number))
    On Error GoTo 0: On Error Resume Next ' Desactivar deteccion de err., iniciar detector de err.
    Obj.BorderStyle = 0 ' Se cumple solo si el objeto admite esta Propiedad
    Obj.Appearance = 0 ' Se cumple solo si el objeto admite esta Propiedad
    .Top = Obj.Top - 10
    .Left = Obj.Left - 10
    .Width = Obj.Width + 23
    .Height = Obj.Height + 23
    If Tipo = 0 Then Tipo = vbBSSolid ' Si la variable Tipo [Opcional] no se a definido
    .BorderStyle = Tipo
    .BorderColor = Color
    .Visible = True: Err.Clear
    .Tag = "PropertyApplyStyle"
End With
End Function

Con esto aplicamos un estilo a un Objeto llamandolo asi: (Sintaxis)
Call ApplyStyle(Objeto, Tipo_De_Borde[Opcional], Color_RGB_o_ColorConstans[Opcional]
Ejemplo:
Añadimos un TextBox y añadimos este code al evento Form_Load..
Call ApplyStyle(Text1, vbBSSolid, RGB(200, 200, 200))
Esto aplica un borde de color Plomo a algo parecido al Text1..
otro ejemplo:
Call ApplyStyle(Text1, vbBSDashDotDot, VbGreen)
Otro:
Call ApplyStyle(Text1)
Esto es ApplyStyle, ahora para destruir el Style simplemente usamos otra funcion DestroyApplyStyle:

DestroyApplyStyle

Esta es aun mas sencilla, podemos ocultar los Shape's gracias a la propiedad Tag que permite guardar info acerca del objeto..
Código ( DestroyApplyStyle) [Seleccionar]
Private Function DestroyApplyStyle() As Long
On Error Resume Next: Dim Obj As Object
For Each Obj In Form1.Controls
    If Obj.Tag = "PropertyApplyStyle" Then
        Me.Controls.Remove Obj
    End If
    Obj.BorderStyle = 1
    Obj.Appearance = 1
    DoEvents
Next
End Function

Uso:
Call DestroyApplyStyle()
Espero les guste, y les sirva.. ;)

SaluDOS!!!
#109
Skin - Un Skin que se crea en tiempo de ejecucion usando Objetos Shape y Label

Otra de mis aplicaciones, estoy practicando VB6 con lo que aprendo cada dia asi con la practica no se me olvida.. ;D

Bien, consiste en algo simple, uso dos API's SendMessage y ReleaseCapture para hacer Drag del formulario.., la barra de titulo se crea usando Lines, cambiando el color usando la función RGB(ByteR, ByteG, ByteB), y el Titulo del Form y la sombra del titulo son dos Label que tambien se crean en tiempo de ejecucion, ha y el boton de cerrar formulario tambien es un Label ;)
Dejo un Screen, y luego dejo el Codigo:

Option Explicit

Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" ( _
        ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
        lParam As Any) As Long
 
Private Declare Sub ReleaseCapture Lib "User32" ()
 
Const WM_NCLBUTTONDOWN = &HA1
Const HTCAPTION = 2

Private WithEvents FormStyleCaption As Label
Private WithEvents ButtonUnloadForm As Label

Private Sub ButtonUnloadForm_Click()
End
End Sub

Private Sub Form_Initialize()
With Form1
    .ScaleMode = 1
    If .BorderStyle <> 0 Then
        Err.Raise 1, Me.Name, "Establece la propiedad de BorderStyle de tu Form a 0-None. ;)"
    End If
End With
End Sub

Private Sub Form_Load()
Dim I As Long
Set ButtonUnloadForm = Me.Controls.Add("VB.Label", "ButtonUnloadForm")
With ButtonUnloadForm
    .Top = 40
    .Left = Me.Width - (.Width / Screen.TwipsPerPixelX) - 220
    .Height = 220
    .Width = 260
    .Alignment = 2
    .BackStyle = 1
    .BorderStyle = 0
    .Appearance = 0
    .Font.Name = "Microsoft Sans Serif"
    .BackColor = RGB(250, 0, 0)
    .ForeColor = RGB(255, 255, 255)
    .Caption = "X"
    .Visible = True
End With
Set FormStyleCaption = Me.Controls.Add("VB.Label", "FormStyleCaption")
With FormStyleCaption
    .Top = 80
    .Left = 80
    .Height = 250
    .Width = Me.Width
    .BackStyle = 0
    .Font.Name = "Microsoft Sans Serif"
    .ForeColor = RGB(255, 255, 255)
    .Caption = Me.Caption
    .Visible = True
End With
With Me.Controls.Add("VB.Label", "FormStyleCaption2")
    .Top = 80
    .Left = 60
    .Height = 240
    .Width = Me.Width
    .BackStyle = 0
    .Font.Name = "Microsoft Sans Serif"
    .Caption = Me.Caption
    .Visible = True
End With
For I = 10 To 280 Step 15
    With Me.Controls.Add("VB.Line", "LineBorder_Title" & I)
        .Y1 = I: .Y2 = I
        .X1 = 10: .X2 = Me.Width - 20
        .BorderColor = RGB(I, I, I + 50)
        .Visible = True
    End With
    DoEvents
Next
With Me.Controls.Add("VB.Shape", "ShapeBorder")
    .Top = 0
    .Left = 0
    .Height = Me.Height
    .Width = Me.Width
    .BorderColor = RGB(50, 100, 200)
    .BorderWidth = 1
    .FillStyle = 0
    .FillColor = RGB(220, 220, 255)
    .Visible = True
End With
End Sub

Private Sub FormStyleCaption_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   'Dim Ret As Long
    Call ReleaseCapture
    If Button = vbLeftButton Then
        Call SendMessage(Me.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
    End If
End Sub

El Skin solo se aplica al Form, el botón del screen es solo un invento mio ;D
No necesitamos agregar controles, para probar, Copy And Paste..
y lo mas importante que se me olvidaba, deben establecer la propiedad BorderStyle del Form a "1-None"

Espero les sirva, otra idea mas de como hacer nuestros Skin's ;D
SaluDOS!!!
#110
XD
Lo siento no me fije los ":" creí que era un comentario :P

En la próxima me fijo bien :)

SaluDOS!!!