Shell 06-06-2024, 14:42
Buenas!.

Tengo un formulario que contiene un scrollview, la propiedad de arrangement del.
formulario está puesta a Fill. A medida que ajuste este los controles que están dentro
del scrollview se distribuyen en este de una forma.

Ahora bien. Si quisiera ajustar su ancho y alto al tamaño que tienen sus hijos instantáneamente, ¿ es posible ?.
He añadido ademas un tamaño de separación entre los pictureboxes.

Tengo esto:

[Imagen: Tfu1NPv.png]

Y lo que quiero es que automáticamente se ajuste por la derecha.
Sin necesidad de hacerlo manualmente con el formulario y el ratón.

Código:
Const MARGEN As Integer = 8
Const NUMPICTUREBOXES As Integer = 8

Private anomimagenes As String[] = ["Gambas3.png", "Python.png"] 'No es necesario del todo, en este caso solo son dos imagenes

Public Sub Form_Open()

  Randomize

  Me.Arrangement = Arrange.Fill ' Según cambio el tamaño del formulario se ajustan los controles que tiene el ScrollView

  With ScrollView1
    .Arrangement = Arrange.Row
    .Background = Color.Black
    .Spacing = True
    .Margin = True
    .Padding = MARGEN
  End With

  InsertarImagenes(anomimagenes)

End

Public Sub InsertarImagenes(simagenes As String[])

  Dim j As Integer
  Dim unpicturebox As PictureBox

  For j = 0 To NUMPICTUREBOXES - 1
    unpicturebox = New PictureBox(ScrollView1) As "Observador"
    With unpicturebox
      .W = 64
      .H = 64
      .Picture = Picture.Load(Application.Path &/ simagenes[Rand(1)])
      .Border = True
      .Background = Color.White
      .Mode = PictureBox.Contain
      .Tag = j
    End With
  Next

 ''FIXME: Ajustar ancho y alto del ScrollView al tamaño de los controles contenidos
  With ScrollView1
    ' Menos 2 debido al contador de Pictureboxes, su indice es NUMPICTUREBOXES
    .W = ((NUMPICTUREBOXES - 1) * 64 + MARGEN * (NUMPICTUREBOXES - 2)) / 2
    .H = ((NUMPICTUREBOXES - 1) * 64 + MARGEN * (NUMPICTUREBOXES - 2)) / 2
  End With
End

Public Sub Observador_MouseDown()

  Dim colorcontrario As Integer
  Dim listadeindices As New Integer[]

  For j As Integer = 0 To ScrollView1.Children.Max
    listadeindices.Add(j)
  Next

  'Por defecto. Intercambiamos el color
  If Last.Background = Color.Green Then
    Last.Background = Color.White
    colorcontrario = Color.Green
  Else
    Last.Background = Color.Green
    colorcontrario = Color.White
  Endif

  'Eliminamos la posibilidad de que se pueda cambiar el color de fondo del picturebox seleccionado
  'Para esto he creado una listadeindices
  listadeindices.Remove(Last.tag)

  'Al resto de los picturebox no seleccionados, se les camnbia el color del fondo
  For j As Integer = 0 To listadeindices.Max
    ScrollView1.Children[listadeindices[j]].Background = colorcontrario
  Next

End

Os subo el código.

Saludos
Archivos adjuntos
.gz
SeleccionImagenBorde-0.2.tar.gz (Tamaño: 24.06 KB Descargas: 3)
Shordi 04-06-2024, 19:13
Aquí tenéis un pequeño video tutorial (sólo media hora, jejeje) sobre la técnica que utilizo en el programa SQetchLite para dibujar las líneas que representan las foreign keys en la pantalla donde se ve la estructura de la BD.



Espero no dormir, ni aburrir a nadie.

Os adjunto el código fuente del programa que se ve en el vídeo.



Saludos.
Archivos adjuntos
.zip
Rayas-0.0.1.zip (Tamaño: 14.6 KB Descargas: 2)
Shell 04-06-2024, 14:01
Buenas!.

Me funciona, pero no no cuando lo que busco se encuentra en otro modulo o parte del proyecto.

Ejemplo:

Tengo el método Tablas_Click() que en el cuerpo de su código
tiene la llamada al procedimiento LlenarGrid.

Fijaros, si quisiera ir a los "distintos" lugares que se encuentra la llamada
"LlenarGrid", situaría el cursor del ratón sobre la palabra "LlenarGrid"
de principio a fin o bien haciendo dos veces clic sobre esta. "Y" ahora
pulso la tecla "F2", esto me llevaría al procedimiento que se llama
"LlenarGrid" que se encuentra en el mismo modulo que estoy viendo.

Hasta ahí bien

Ahora supongamos esto:

Tengo la variable m.PathConfigs en el modulo fMain.
Pero PathConfigs se encuentra en el modulo "m".
Vuelvo a hacerlo mismo. Selecciono la palabra entera "m.PathConfig"
"Y" pulso "F2"...pues no me lleva la modulo.  Huh

Es como cuando usamos la ayuda sobre algo concreto. F2, en vez
de la general F1.  Así si tengo la palabra Desktop y hago uso de la
tecla F2 me buscaría en la ayuda esa palabra y me la mostraría.

Pues no recuerdo ese problema. Es más con las clases me llevaba
directamente a sus métodos.

Voy a probar con un método en la clase fMain. CreateDefaultConf
Hago lo mismo. No va.  Sad

Es la Gambas 3.19.2
 

Han vuelto a cambiar los accesos directos. Y aparecen dos...

[Imagen: 05G1Um8.png]

Y este..

[Imagen: CHJcNBA.png]

Huh

Para ver los atajos de teclados, ir al menú herramientas->Atajos
Que raro que haya dos iguales, cuando eso no se permite.

Para buscar un acceso que corresponde a una tecla, activas el botón buscar acceso directo y luego pulsas la tecla que quieras,
ejemplo F2, te encontrará el tema de búsquedas, pero el siguiente no. Encuentra el primero, pero nada más.
De alguna forma Renombrar se ha colado.
 

He eliminado el acceso directo a renombrar y es que cada vez que salgo del editor se activa de nuevo.
Y es que no me deja buscar lo que os comenté antes.

Esto si que es raro.
 

Como no se puede eliminar lo he sustituido por Mayúscula y F2, pero esto no me soluciona el problema de
las búsquedas.

Saludos
Páginas (564):    1 82 83 84 85 86 564   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 292
Último miembro: DarkWolf
Temas del foro: 1,742
Mensajes del foro: 9,029
Últimos temas
Ordenar en un TableView
Foro: General
Último mensaje por: Shordi, 03-11-2025, 18:41
Respuestas: 3 - Vistas: 109
Odio a gb.Report
Foro: General
Último mensaje por: guizans, 02-11-2025, 13:36
Respuestas: 9 - Vistas: 1,557
Reportes de Gambas
Foro: Aplicaciones/Fragmentos de Código
Último mensaje por: Alberto59, 27-10-2025, 16:34
Respuestas: 2 - Vistas: 1,334
Ordenando las carpetas
Foro: Programación en otros lenguajes
Último mensaje por: tercoide, 22-10-2025, 15:57
Respuestas: 0 - Vistas: 116
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.