Shordi 28-06-2024, 22:43
Animado a subir vídeos de los viejos controles que tengo hechos por ahí, os presento Spectrogram, un control que muestra un espectrograma de barras para archivos de audio. Yo lo utilizo en mi programa LinAmp, que es un amodo del viejo Winamp de windows o su clon Audacious, de linux, pero incluyendo descargas de sonido de youtube y algunas cosas más.



No hace falta que veáis los vídeos, oiga, que me siento como un recién casado plasta aburriendo a las visitas con las fotos del viaje de novios. Sólo los añado aquí en el foro porque habiendo tan pocos canales en youtube que hablen de gambas, es una pena que no figuren aquí.

Saludos
Shordi 27-06-2024, 18:31
Me lo han pedido en Youtube y he vuelto a hacer lo que ya hice en su día: Cómo crear un componente propio para enlazar nuestros controles con todos nuestros programas que los necesiten.



Saludos
vuott 27-06-2024, 01:03
Hola,
aquí un posible código para la realización de un Confused pseudo-Slider con tres indicadores de valor:

Código:
Private DrawingArea1 As DrawingArea
Private bt1 As Button
Private bt2 As Button
Private bt3 As Button
 
 
Public Sub Form_Open()
 
 With DrawingArea1 = New DrawingArea(Me) As "DrawingArea1"
   .X = 20
   .Y = 20
   .W = 310
   .H = 20
   .Border = Border.Solid
 End With
 
 With bt1 = New Button(DrawingArea1) As "BT"
   If Not Even(DrawingArea1.W * 0.03) Then .W = (DrawingArea1.W * 0.03) + 1
   .H = DrawingArea1.H
   .X = 0
   .Y = 0
   .Text = String.Chr(&2193)
 End With
 With bt2 = New Button(DrawingArea1) As "BT"
   .W = bt1.W
   .H = DrawingArea1.H
   .X = DrawingArea1.W - (DrawingArea1.W / 2)
   .Y = 0
   .Text = String.Chr(&2193)
 End With
 With bt3 = New Button(DrawingArea1) As "BT"
   .W = bt1.W
   .H = DrawingArea1.H
   .X = DrawingArea1.W - .W
   .Y = 0
   .Text = String.Chr(&2193)
 End With
 Me.Title = "Min = " & CStr(bt1.X) & "   Med =" & CStr(bt2.X) & "   Max =" & CStr(bt3.X)
 
End
 
Public Sub DrawingArea1_Draw()
 
 With Paint
   .Brush = Paint.Color(Color.Green)
   .Rectangle(bt1.X + bt1.W, 0, (DrawingArea1.W - bt1.X) - (DrawingArea1.W - bt2.X), DrawingArea1.H)
   .Fill
   .Brush = Paint.Color(Color.Orange)
   .Rectangle(bt2.X + bt2.W, 0, (DrawingArea1.W - bt2.X) - (DrawingArea1.W - bt3.X), DrawingArea1.H)
   .Fill
   .End
 End With
  
End
 
Public Sub BT_MouseMove()
 
 With Last
   .X = .X + Mouse.X - Mouse.StartX
   .Y = .Y + Mouse.Y - Mouse.StartY
 End With
 
 If Last.Y <> 0 Then Last.Y = 0
  
 Select Case Last.Id
   Case bt1.Id
     If bt1.X < 0 Then bt1.X = 0
     If bt1.X > bt2.X - bt1.W Then bt1.X = bt2.X - bt1.W
   Case bt2.Id
     If bt2.X < (bt1.X + bt1.W) Then bt2.X = bt1.X + bt1.W
     If (bt2.X + bt2.W) > bt3.X Then bt2.X = bt3.X - bt2.W
   Case bt3.Id
     If bt3.X < (bt2.X + bt2.W) Then bt3.X = bt2.X + bt2.W
     If (bt3.X + bt3.W) > DrawingArea1.W Then bt3.X = DrawingArea1.W - bt3.W
 End Select
 
 DrawingArea1.Refresh

 Me.Title = "Min = " & CStr(bt1.X) & "   Med = " & CStr(bt2.X) & "   Max = " & CStr(bt3.X)
 
End
Europaei sumus !
Páginas (574):    1 … 88 89 90 91 92 … 574   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 316
Último miembro: CarlosZam
Temas del foro: 1,774
Mensajes del foro: 9,212
Últimos temas
Me hace falta el dato de ...
Foro: Sobre gambas-es.org
Último mensaje por: jguardon, 30-09-2026, 20:25
Respuestas: 1 - Vistas: 166
El conector de alimentaci...
Foro: Hardware & IoT
Último mensaje por: tincho, 23-09-2026, 23:03
Respuestas: 3 - Vistas: 208
Problemas con la versión ...
Foro: General
Último mensaje por: Piero71, 19-09-2026, 23:56
Respuestas: 3 - Vistas: 399
GauchoCAD vuelve a las pi...
Foro: Aplicaciones/Fragmentos de Código
Último mensaje por: tincho, 02-09-2026, 21:41
Respuestas: 21 - Vistas: 22,471
Programando con la IA
Foro: General
Último mensaje por: alberto-moyano, 02-09-2026, 18:04
Respuestas: 19 - Vistas: 9,440
Powered By MyBB, © 2002-2026 MyBB Group.
Made with by Curves UI.