|
101
|
Programación / Programación Visual Basic / Re: [Source] Escritorio Remoto
|
en: 5 Febrero 2010, 01:29 am
|
Voy a descargarlo al rato, admiro tus codes Yo no termine el mio, tenia problemas con enviar la imagen seguramente aprendo algo de esto Con tu permiso.., puedo postearlo en otro foro? donde seguramente les dará gusto saber de una aplicación como esta SaluDOS!!!
|
|
|
102
|
Programación / Programación Visual Basic / Re: Iniciar un Form parpadeando
|
en: 3 Febrero 2010, 04:42 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 SaluDOS!!! PD: Lo haré en una sola linea... xD
|
|
|
103
|
Programación / Programación Visual Basic / Re: ApplyStyle y DestroyApplyStyle By 3D1 - Crea estilos en nuestros Objetos
|
en: 3 Febrero 2010, 03:36 am
|
Si son de PortalHacker ahí fue posteado originalmente El del Link que pusiste, no, no se de quien serán.. . 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í 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
|
Programación / Programación Visual Basic / Re: Iniciar un Form parpadeando
|
en: 3 Febrero 2010, 03:29 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!!! 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 Aquí mi propio code optimizado: 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 SaluDOS!!!
|
|
|
106
|
Programación / Programación Visual Basic / Iniciar un Form parpadeando
|
en: 30 Enero 2010, 07:06 am
|
Este post lo hice en otro foro, mas abajo se menciona para que.. Ignoren lo de "entrar al Lab"
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, 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
|
Programación / Programación Visual Basic / Cambiar de color un TextBox al recibir o perder el enfoque - Api GetFocus
|
en: 30 Enero 2010, 07:02 am
|
Cambiar de color un TextBox al recibir o perder el enfoque - Api GetFocusEsta 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
|
Programación / Programación Visual Basic / ApplyStyle y DestroyApplyStyle By 3D1 - Crea estilos en nuestros Objetos
|
en: 30 Enero 2010, 06:56 am
|
ApplyStyleSon 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: 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: Esto es ApplyStyle, ahora para destruir el Style simplemente usamos otra funcion DestroyApplyStyle: DestroyApplyStyleEsta es aun mas sencilla, podemos ocultar los Shape's gracias a la propiedad Tag que permite guardar info acerca del objeto.. 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: Espero les guste, y les sirva.. SaluDOS!!!
|
|
|
109
|
Programación / Programación Visual Basic / Skin - Un Skin que se crea en tiempo de ejecucion usando Objetos Shape y Label
|
en: 30 Enero 2010, 06:52 am
|
Skin - Un Skin que se crea en tiempo de ejecucion usando Objetos Shape y LabelOtra de mis aplicaciones, estoy practicando VB6 con lo que aprendo cada dia asi con la practica no se me olvida.. 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 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 SaluDOS!!!
|
|
|
|
|
|
|