A continuación vamos a detallar cada una de las secciones mencionadas. La veremos en un mismo artículo porque están muy relacionadas unas con otras.




La dependencia entre las 3 zonas es total, ya que según el elemento que pulsemos en la zona de exploración, se nos remarcara en la zona de visualización, en rojo, la zona concreta que estamos explorando y además, las propiedades que aparecerán en la zona de propiedades son a su vez las del elemento seleccionando.



Podemos por tanto ir "navegando" por los campos de nuestro objeto marcando cada uno de los bloques o pestañas que aparecen en la zona de exploración, teniendo en cuenta también que tiene estructura de árbol y que se puede ir abriendo sucesivamente en subapartados, y así hasta que lleguemos al nivel del control del campo, de forma que se nos irán marcando en rojo en la zona de visualización bloques, subbloques o campos, según donde estemos en la zona de exploración.


Además de movernos por los campos desde la zona de exploración, podremos "navegar" desde la zona de visualización pulsando con el ratón en la zona que queremos explorar.


Observaremos que al  cambiar entre campos, capas o paneles, tabulaciones, grids, cambia lo expuesto en la zona de propiedades, ya que esta zona va mostrando las propiedades del control correspondiente. (Ver imágenes, zonas verdes)


Al pulsar sobre el marco principal del formulario este se queda seleccionado y a la derecha tenemos las propiedades del control.





En esta segunda imagen estamos pulsando sobre el control caja de texto [IdProyecto] este se queda seleccionado en el área de visualización y a la derecha tenemos las propiedades del control:




Como ya habíamos dicho, en las imágenes se aprecia tanto que las características cambian dependiendo de lo que estemos explorando, como que en la zona de visualización cambia la zona remarcada en rojo.


Con lo dicho anteriormente, la zona de visualización queda ya bastante clara, sin embargo las zonas de exploración y de visualización requieren una explicación más detallada, y que haremos conjuntamente, ya que, según el tipo de objeto que estemos explorando (se puede ver el tipo de objeto en la zona de exploración),  tendrá unas características u otras.


IMPORTANTE:  Si tenemos en configuración de pantalla una escala superior al 100% al entrar al editor de formulario

mostraremos este mensaje para indicar que los cambios que realiza en cuanto a tamaños y/o posiciones puede ocasionar que al resto de usuarios con diferente escala no lo visualice de igual forma.



Añadir un control nuevo al formulario :


Podemos pulsar el botón derecho del ratón sobre la zona de visualización, formulario, y obtendremos un menú contextual similar al de la imagen.  Es importante tener en cuenta, que las opciones del menú cambiarán según el punto del formulario donde estuviera el puntero antes de hacer clic.




Con la funcionalidad de este menú podemos añadir campos nuevos al formulario. Estos campos deberán ser tratados como campos configurables del objeto (ver en la documentación del ADMON, el apartado a la creación de campos nuevos).


En el ejemplo siguiente estamos añadiendo un campo configurable llamado telef2 del objeto clientes, hecho todo mediante código, a excepción de la creación del campo configurable, que, recomendamos, se añada desde el Admon.


Renombrar un control creado con la opción nuevo control: 


Al crear un control nuevo en la barra de la izquierda aparece con el nombre NuevoTexto o NuevoCombo para renombrarlo tenemos la opción de cambiarlo por un nombre diferente, situándonos en el control creado y eligiendo la opción de menú contextual Renombrar:



Situándonos  


Código VB6:

Sub Initialize()
  Set lContenedor = gForm.NumFax.Container
  Set lControl=gForm.NumFax
  Set lTexto = gForm.Controls.Add("AhoraOcx.Textousuario", "Telef2", lContenedor )
  lTexto.Formato = "Mayusculas y Minusculas"
  lTexto.TipoDato = "String"
  lTexto.ObjOrigen = "EObjeto"
  lTexto.ObjPOrigen = "Telefono2"
  lTexto.visible=True
  lTexto.Move lControl.Left+lControl.Width+50, lControl.Top ,2200, 300
  lTexto.CaptionVisible=True
  lTexto.CaptionControl="Otro teléfono:"
  lTexto.CaptionWidth=1200
  lTexto.AplicaEstilo
  gForm.Controls("Cliente_Contado").Visible=False
End Sub

Código C#

using AhoraCore;
using AhoraOCX;
using AhoraSistema;
using static AhoraCore.VBA.Interaction;
using static AhoraCore.VbMsgBoxResult;
using static AhoraCore.VbMsgBoxStyle;
using System;


namespace AhoraScriptsPantalla
{
    public class AhoraCl_frmClientes : AhoraOCX.AhoraBaseScript
    {
        public override void Initialize()
        {
            base.Initialize();
            IControl lControl = gForm.Controls["NumFax"];
            IControl lContenedor = (lControl as ITextoUsuario).Parent as ICntPanel;
            ITextoUsuario lTexto = (ITextoUsuario)(gForm.Controls.Add("AhoraOCX.TextoUsuario", "Telef2", lContenedor));
            lTexto.Formato = EFormatoCampo.MayusculasyMinusculas;
            lTexto.TipoDato = ETipoDato.String;
            lTexto.ObjOrigen = "EObjeto";
            lTexto.ObjPOrigen = "NumTelefono";
            lTexto.Visible = true;
            lTexto.SetBounds(lControl.Left + lControl.Width + 3, lControl.Top, 147, 20);
            lTexto.CaptionVisible = true;
            lTexto.CaptionControl = "Otro teléfono:";
            lTexto.CaptionWidth = 80;
            lTexto.AplicaEstilo();
            (gForm.Controls["Cliente_Contado"] as ICheckBoxUser).Visible = false;
            (gForm.Controls["MiCod"] as ITextoUsuario).Visible = false;
        }
    }
}


Con el menú contextual podríamos haberlo creado el campo, situarlo mediante las posiciones X e Y y por  último  hubiésemos puesto las mismas propiedades que estamos viendo en el código.