tincho 23-05-2023, 11:49
Hola amigos.

En el desarrollo de GambasCAD, son necesarios algunos controles "especiales" para editar parámetros de forma mas amigable para el usuario.
En este Tema voy a listar los controles que hace falta desarrollar por si alguien ( en especial algún jubilado Big Grin ) tiene tiempo y animo de abordarlos.

Editor de ángulos:
Especificaciones
  • Tiene que recibir y devolver el valor en radianes y funcionar parecido al editor de ángulos de Libreoffice.Calc.
  • Manejar los ángulos rectos 0º, 90º, 180º, 270 / 45º, 135º, 225º, 315 / 30º, 120º, 210º, 300º con un clic.
  • Permitir ingresar a mano un ángulo en grados y que el dibujo cambie de acuerdo al dato ingresado.
  • Permitir cambiar el archivo SVG para cambiar el aspecto del indicador.
  • Permitir definir el alto y ancho del control
  • Permitir ver o no el valuebox de ingreso del valor.
  • Disponer de un botón "Reset" que permita volver al valor inicial.
Nota: Podría ser útil para otros programas como una planilla de cálculo, reloj, manómetro, termómetro, voltímetro etc.

[Imagen: SnlT8lz.gif]

Algunos ejemplos de indicadores industriales

[Imagen: ceUYAch.jpg][Imagen: HJ4dN19.jpg][Imagen: HRcy6EI.jpg]
Shell 20-05-2023, 22:57
Buenas!.

Viendo un ejemplo de Cogier sobre Drag y Drop, creé algo similar. Pero cuando el objeto es arrastrado fuera del lugar donde debe estar,
este se borra y se elimina de su contenedor de origen.

Tengo un panel con tres etiquetas. Cada etiqueta tiene una palabra que forman una frase desordenada.
Se trata de llevar cada etiqueta al otro panel y que la frase se pueda ver ordenada.

Una vez el control se ha arrastrado o creado en el otro panel, debe ser eliminado del panel de origen.

Para probar el efecto debe ser arrastrado fuera de su contenedor y que no sea el panel 2.

[Imagen: xFFwNB5.png]

Al pulsar el botón de check se comprueba si el orden de la frase es correcto.

Este es el código.

Código:
Private aphrase As String[] = ["Order", "the", "phrase"]
Private tobject As Object
Private stext As String

Public Sub Form_Open()
 
  Dim lb As Label
  Dim adisorderphrase As String[]
 
  adisorderphrase = aphrase.Copy()
  adisorderphrase.Shuffle()
 
  Panel1.Arrangement = Arrange.Column
 
  For ICount As Integer = 0 To adisorderphrase.Max
    lb = New Label(Panel1) As "words"
    With lb
      .text = adisorderphrase[ICount]
      .Font.Size = 18
      .Alignment = Align.Center
      .AutoResize = True
      .Padding = 5
      .Border = Border.Plain
    End With     
  Next
 
End

Public Sub words_enter()
 
  tobject = Last  
  stext = Last.text
 
End

Public Sub words_MouseDrag()
 
  If Mouse.left Then    
    Last.Drag(Last.text)  
    'If your drag to any place the control is deleted. :(
    Last.Delete
  Endif
 
End

Public Sub Panels_Drop()
 
  Dim lb As Label
    
  If Drag.type = Drag.Text Then     
    lb = New Label(Last) As "words"
    With lb
      .Text = Drag.Data      
      .AutoResize = True
      .W = Drag.Source.w
      .H = Drag.Source.h
      .Border = Border.Plain
      .Font.Size = Drag.Source.Font.Size
      .Padding = 5
    End With    
  Endif
  'Drag.Source.Delete
  'Is impossible delete the object here, the control is being dragged
 
End

Public Sub Button1_Click()
 
  Dim wrong As Boolean
    
  If Panel2.Children.Count = aphrase.Count Then
    For r As Integer = 0 To aphrase.Max
      tobject = Panel2.Children[r]
      If aphrase[r] <> tobject.text Then
        wrong = True
        Break
      Endif
    Next    
    If wrong Then
      Message.Error(("The order of words isn't correct"), "OK")      
    Else
      Message.Info(("The order of words is correct"), "OK")
    Endif  
  Else
    Message.Error(("There aren't enough words on the panel"), "OK")
  Endif

End

Saludos
Shell 20-05-2023, 11:49
Buenas!.

Como os comentaba en otro mensaje, quise reducir la clase creada y usar una clase que en ese momento no recordaba su nombre.
Si, no lo recordaba ya que el verdadero nombre de la clase es Rect y no Rectangle.

Se me ocurrió hacer esto en una clase de prueba.

[code]

[Imagen: Zy3Zpbw.png]

Y claro luego en el constructor intente poner el "." para una propiedad...Se congela!!!.
Así que existe alguna confusión con ese nombre.

Ah y fijaros que el nombre de la clase aparece de color distinto. ¿ Cómo si existiese realmente ?.

Saludos
Páginas (557):    1 168 169 170 171 172 557   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 285
Último miembro: XLRG
Temas del foro: 1,719
Mensajes del foro: 8,923
Últimos temas
Un sistema de ayudas cont...
Foro: Videotutoriales
Último mensaje por: guizans, 22-06-2025, 19:55
Respuestas: 3 - Vistas: 222
Publicidad
Foro: Sobre gambas-es.org
Último mensaje por: Shordi, 18-06-2025, 07:35
Respuestas: 5 - Vistas: 225
Web con gambas, a ver si ...
Foro: WebApp/WebForms
Último mensaje por: jackrobot, 16-06-2025, 17:11
Respuestas: 40 - Vistas: 32,210
Crear una aplicación para...
Foro: Bases de Datos
Último mensaje por: Shell, 29-05-2025, 20:11
Respuestas: 11 - Vistas: 1,346
Paso de parámetros a una ...
Foro: General
Último mensaje por: guizans, 29-05-2025, 19:27
Respuestas: 9 - Vistas: 827
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.