Los paneles son contenedores de controles.
Se crean con la instrucción:
Código VB6:
Set lPnlSupI = gForm.Controls.Add("AhoraOCX.cntPanel", "pers_pnlSupI", gForm)
Código C#:
<NombrePanel> = gForm.Controls.Add("AhoraOCX.CntPanel", "<NombreControlPanel>", gForm);
Tienen las siguientes propiedades:
ResizeEnabled = (boolean) Establece el dimensionado del control automático
ResizeV = (numeric) Indica la posición vertical de la matríz de redimensionamiento
ResizeH = (numeric) Indica la posición horizontal de la matríz de redimensionamiento
ResizeRestanteV = (boolean) Indica si el control se expande hacia abajo
ResizeRestanteH = (boolean) Indica si el control se expande hacia la derecha
ResizeInterior=(boolean) Si en su interior hay un grid, lo ajustará su tamaño (solo presente en este control)
Visible=(boolean)
Estilo = (Numeric [0 - Recuadro, 1- Superior, 2 - Sin líneas]) Dibuja un recuadro o línea superior para delimitar gráficamente el control.
Las propiedades de redimensionamiento (ResizeEnabled, ResizeV, ResizeRestanteV yResizeRestanteH) son propias de los controles contenedores de la librería ahoraOCX. Están presentes en cntPanel, cntTab, Botonera y EnlaceObjeto.
De acuerdo a estas propiedades, cuando se cambia el tamaño de un formulario, se suele llamar por código a al método gcn.Obj.Form_AutoResize [ObjFormulario].
Este método, ajusta los controles de acuerdo a la configuración de las propiedades de redimensionamiento.
Suele llamarse en todos los formularios en el evento resize del formulario.
ResizeEnabled = (boolean) Establece el dimensionado del control automático
ResizeV = (numeric) Indica la posición vertical de la matríz de redimensionamiento
ResizeH = (numeric) Indica la posición horizontal de la matríz de redimensionamiento
ResizeRestanteV = (boolean) Indica si el control se expande hacia abajo
ResizeRestanteH = (boolean) Indica si el control se expande hacia la derecha
ResizeInterior=(boolean) Si en su interior hay un grid, lo ajustará su tamaño (solo presente en este control)
Visible=(boolean)
Estilo = (Numeric [0 - Recuadro, 1- Superior, 2 - Sin líneas]) Dibuja un recuadro o línea superior para delimitar gráficamente el control.
Las propiedades de redimensionamiento (ResizeEnabled, ResizeV, ResizeRestanteV yResizeRestanteH) son propias de los controles contenedores de la librería ahoraOCX. Están presentes en cntPanel, cntTab, Botonera y EnlaceObjeto.
De acuerdo a estas propiedades, cuando se cambia el tamaño de un formulario, se suele llamar por código a al método gcn.Obj.Form_AutoResize [ObjFormulario].
Este método, ajusta los controles de acuerdo a la configuración de las propiedades de redimensionamiento.
Suele llamarse en todos los formularios en el evento resize del formulario.
Código VB6:
'Ejemplo: 'Crear 3 paneles. Uno superior izquierdo estático, otro a la derecha (que redimensione a la derecha) y otro en el centro (que redimensione a lo ancho y hacia abajo) Set lPnlSupI = gForm.Controls.Add("AhoraOCX.cntPanel", "pers_pnlSupI", gForm) With lPnlSupI .ResizeEnabled = True .height=3000 .Width=3000 .ResizeV = 2 'ocupa la posición 2 en la matríz de redimensionamiento. La posición 1 suele reservarse para el control EObjeto. .ResizeH = 0 .resizeinterior=False .ResizeRestanteV = False .ResizeRestanteH = False .visible=True End With Set lPnlSupD = gForm.Controls.Add("AhoraOCX.cntPanel", "pers_pnlSupD", gForm) With lPnlSupD .ResizeEnabled = True .height=3000 .Width=3000 .ResizeV = 2 'ocupa la posición 2 en la matríz de redimensionamiento. La posición 1 suele reservarse para el control EObjeto. .ResizeH = 1 'Ocupa la posición 1 vertical de la matríz de redimensionamiento .resizeinterior=False .ResizeRestanteV = False .ResizeRestanteH = True .visible=True End With Set lPnlCentral = gForm.Controls.Add("AhoraOCX.cntPanel", "pers_pnlCentral", gForm) With lPnlCentral .ResizeEnabled = True .ResizeV = 3 .ResizeH = 0 .resizeinterior=True 'Aquí va a ir un grid, y le digo que redimensione el control que tenga dentro .ResizeRestanteV = True .ResizeRestanteH = True .visible = True End With 'Pongo un grid en el panel central Set lGrid = gForm.Controls.Add("AhoraOCX.cntGridUsuario", "pers_gridped", lPnlCentral) With lGrid .Visible = True .AplicaEstilo .Agregar = False .Editar = false .Eliminar = False .CargaObjetos = False .EditarPorObjeto = False .AgregaColumna "IdLinea", 700, "Id Linea" .AgregaColumna "IdArticulo", 2000, "Id Artículo" .AgregaColumna "Descrip", 2000, "Descripcion" .AgregaColumna "Cantidad", 800, "Cant" .AgregaColumna "Precio_EURO", 800, "Precio(€)" .AgregaColumna "Descuento", 800, "Dto." .FROM = "PEDIDOS_CLI_LINEAS" .Where = "Where IdPedido = 1" .refresca = True End With
Código C#:
using AhoraOCX; using AhoraCore; using AhoraSistema; using static AhoraCore.VBA.Interaction; namespace AhoraScriptsPantalla { public class AhoraScripts_frmPersPanel1 : AhoraOCX.AhoraBaseScript { public void Show() { (gForm.Controls["panMain"] as ICntPanel).Visible = false; ICntPanel lPnlSupI = (ICntPanel)gForm.Controls.Add("AhoraOCX.CntPanel", "pers_pnlSupI", gForm); lPnlSupI.ResizeEnabled = true; lPnlSupI.Height = 200; lPnlSupI.Width = 200; lPnlSupI.ResizeV = 2; lPnlSupI.ResizeH = 0; lPnlSupI.ResizeInterior = false; lPnlSupI.ResizeRestanteV = false; lPnlSupI.ResizeRestanteH = false; lPnlSupI.Visible = true; lPnlSupI.Text = "pers_pnlSupI"; lPnlSupI.Top = 50; ICntPanel lPnlSupD = (ICntPanel)gForm.Controls.Add("AhoraOCX.CntPanel", "pers_pnlSupD", gForm); lPnlSupD.ResizeEnabled = true; lPnlSupD.Height = 200; lPnlSupD.Width = 200; lPnlSupD.ResizeV = 2; lPnlSupD.ResizeH = 1; lPnlSupD.ResizeInterior = false; lPnlSupD.ResizeRestanteV = false; lPnlSupD.ResizeRestanteH = true; lPnlSupD.Visible = true; lPnlSupD.Text = "pers_pnlSupD"; lPnlSupD.Top = 50; ICntPanel lPnlCentral = (ICntPanel)gForm.Controls.Add("AhoraOCX.CntPanel", "pers_pnlCentral", gForm); lPnlCentral.ResizeEnabled = true; lPnlCentral.ResizeV = 3; lPnlCentral.ResizeH = 0; lPnlCentral.ResizeInterior = true; lPnlCentral.ResizeRestanteV = true; lPnlCentral.ResizeRestanteH = true; lPnlCentral.Visible = true; lPnlCentral.Top = gForm.Controls["pers_pnlSupD"].Top + gForm.Controls["pers_pnlSupD"].Height; ICntGridUsuario lGrid = (ICntGridUsuario)gForm.Controls.Add("AhoraOCX.CntGridUsuario", "pers_griped", lPnlCentral); lGrid.Visible = true; lGrid.Agregar = false; lGrid.Editar = false; lGrid.Eliminar = false; lGrid.CargaObjetos = false; lGrid.EditarPorObjeto = false; lGrid.AgregaColumna("IdLinea", 47, "Id.Línea"); lGrid.AgregaColumna("IdArticulo", 133, "Id.Artículo"); lGrid.AgregaColumna("Descrip", 133, "Descripción"); lGrid.AgregaColumna("Cantidad", 53, "Cant."); lGrid.AgregaColumna("Precio_EURO", 53, "Precio(€)"); lGrid.AgregaColumna("Descuento", 53, "Dto."); lGrid.From = "Pedidos_Cli_Lineas"; lGrid.Where = "WHERE IdPedido = 1"; lGrid.Refresca = true; } } }