Inspector de Objetos
El Inspector de Objetos es un editor de propiedades y eventos similar a Delphi y C++Builder. Permite configurar visualmente las propiedades de los controles y asignar manejadores de eventos sin escribir codigo manualmente.
Vision General
El Inspector de Objetos tiene dos pestanas principales:
- Propiedades — Edita propiedades del control en una cuadricula categorizada
- Eventos — Asigna manejadores de eventos a los eventos del control
En la parte superior, un Selector de Control ComboBox permite alternar entre todos los controles del formulario actual.
Selecciona cualquier control en el Disenador de Formularios para ver sus propiedades en el Inspector de Objetos. Los cambios que realices se reflejan instantaneamente en el disenador y el codigo.
Pestana Propiedades
Cuadricula Categorizada
Las propiedades estan organizadas en categorias para facilitar la navegacion:
| Categoria | Propiedades |
|---|---|
| Apariencia | cPrompt, cValue, nWidth, nHeight, nClrPane, nClrText, oFont, cPicture |
| Posicion | nLeft, nTop, nWidth, nHeight |
| Comportamiento | lVisible, lEnabled, lTabStop, lReadOnly |
| Datos | cDataSource, cDataField, nDataType |
| Fuente | cFontName, nFontSize, lFontBold, lFontItalic |
Editores de Propiedades
Diferentes tipos de propiedades usan editores distintos:
| Tipo de propiedad | Editor | Ejemplo |
|---|---|---|
| Cadena | Entrada de texto | Nombre del control, texto de etiqueta |
| Numero | Entrada numerica | Posicion, valores de tamanio |
| Logico | Desplegable (.T./.F.) | Visible, Habilitado |
| Color | Selector de color | Fondo, color de texto |
| Fuente | Selector de fuente | Nombre de fuente, tamano, estilo |
| Enumeracion | Lista desplegable | BorderStyle, Position, WindowState |
Editores Desplegables para Enumeraciones
Las propiedades con valores predefinidos muestran listas desplegables:
| Propiedad | Valores |
|---|---|
nBorderStyle | 0=bsSizeable, 1=bsSingle, 2=bsNone, 3=bsToolWindow |
nPosition | 0=poDesigned, 1=poCenter, 2=poCenterScreen |
nWindowState | 0=wsNormal, 1=wsMinimized, 2=wsMaximized |
nFormStyle | 0=fsNormal, 1=fsStayOnTop |
nCursor | 0=crDefault, 1=crArrow, 2=crIBeam, 3=crHand, etc. |
Pestana Eventos
La pestana Eventos muestra todos los eventos disponibles para el tipo de control seleccionado. La lista de eventos es dinamica
y se obtiene mediante UI_GETALLEVENTS desde el backend.
Asignar Manejadores de Eventos
- Doble clic en un evento para autogenerar un manejador
- Escribir directamente en el campo del evento para asignar un bloque de codigo
- Seleccionar desde metodos existentes mediante el desplegable
// Doble clic en OnClick genera: oBtn:OnClick := { || Boton1Clic() } METHOD Boton1Clic() CLASS TForm1 MsgInfo( "¡Boton pulsado!" ) return nil
Eventos Comunes
| Evento | Se activa cuando | Disponible para |
|---|---|---|
OnClick | El usuario hace clic en el control | Button, CheckBox, RadioButton, ListBox, etc. |
OnChange | El valor del control cambia | Edit, Memo, ComboBox, CheckBox, etc. |
OnInit | El control se ha creado e inicializado | Todos los controles |
OnClose | El formulario esta a punto de cerrarse | Solo Form |
OnTimer | El intervalo del temporizador ha transcurrido | Solo Timer |
OnKeyDown | Se presiona una tecla | Todos los controles de entrada |
OnKeyUp | Se suelta una tecla | Todos los controles de entrada |
OnKeyPress | Se presiona una tecla de caracter | Todos los controles de entrada |
OnMouseDown | Se presiona el boton del raton | Todos los controles |
OnMouseUp | Se suelta el boton del raton | Todos los controles |
OnMouseMove | El raton se mueve sobre el control | Todos los controles |
OnMouseWheel | Se desplaza la rueda del raton | Todos los controles |
OnDblClick | El usuario hace doble clic | Todos los controles |
OnCreate | El formulario se esta creando | Solo Form |
OnDestroy | El formulario se esta destruyendo | Solo Form |
OnShow | El formulario se muestra | Solo Form |
OnHide | El formulario se oculta | Solo Form |
OnActivate | El formulario recibe el foco | Solo Form |
OnResize | El formulario se redimensiona | Solo Form |
OnPaint | El formulario necesita redibujarse | Solo Form |
Tipos de Propiedades (Backend C++)
En el backend C++, las propiedades se definen con tipos:
| Constante | Valor | Uso |
|---|---|---|
PT_STRING | 1 | Propiedades de texto (nombre, titulo, valor) |
PT_NUMBER | 2 | Propiedades numericas (posicion, tamano, intervalos) |
PT_LOGICAL | 3 | Propiedades booleanas (visible, habilitado, marcado) |
PT_COLOR | 4 | Propiedades de color (fondo, color de texto) |
PT_FONT | 5 | Propiedades de fuente (nombre, tamano, estilo) |
Ejemplos de Codigo
Configurar Propiedades mediante el Inspector de Objetos
Cuando editas propiedades en el inspector, el codigo generado se ve asi:
METHOD CreateForm() CLASS TForm1 ::cTitle := "Mi Aplicacion" ::nLeft := 100 ::nTop := 170 ::nWidth := 640 ::nHeight := 480 ::nPosition := 2 // poCenterScreen ::nWindowState := 0 // wsNormal return nil
Asignacion de Eventos en Codigo
// Bloque de codigo en linea oBtn:OnClick := { || MsgInfo( "¡Hola!" ) } // Llamada a metodo oBtn:OnClick := { || ::ManejarClicBoton() } METHOD ManejarClicBoton() CLASS TForm1 MsgInfo( "Se hizo clic en el boton" ) return nil
Consejos para Usar el Inspector de Objetos
- Usa las categorias — Expande categorias para encontrar propiedades rapidamente
- Doble clic en eventos — Autogenera metodos manejadores en tu clase
- Usa desplegables para enumeraciones — Asegura valores validos (BorderStyle, Position, etc.)
- Selector de color — Haz clic en propiedades de color para abrir el selector de color
- Selector de control — Usa el ComboBox superior para cambiar entre controles
- Actualizaciones en tiempo real — Los cambios se reflejan instantaneamente en disenador y codigo
- Restablecer a valor predeterminado — Clic derecho en una propiedad para restablecer al valor por defecto