Bueno estoy trabajando en las form, más adelante hoy pondré la de usuarios terminada y algo de código de la del menú.
Como veis el menú aun le falta mucho, pero ya podemos ver los paneles de la botonera, hay cosas que quitar y sobre todo corregir, pero indica parte del camino ya veremos como ir perfilandolo
[img width=747 height=600]http://nsae02.casimages.net/img/2015/02/22/150222122215961511.jpg[/img]
Aunque la pantalla de usuario no esta terminada ni por asomo., podemos ver como ira quedando y voy a a explicar un poco el diseño y uso de paneles
1: Como podemos apreciar en este apartado tenemos 1 panel (Botonera1) 1 Dbnavigator, del que hemos seleccionado de su propiedad VisibleButtons, los cuatro primeros y hemos dejado el nombre por defecto (DbNavigator1) y 5 Spedbuttons que hemos llamado SBNuevo, SBEdit, SBBorrar, SBBuscar y SBSalir, tanto el dbnavigator como los 4 primeros speddbutton estan alineados a la izquierda, mientras que el último está alineado a la derecha
El panel tiene un height de 81, los speddbuttons tien un width de 80 y el del dbnavigator de 304.
El panel inicialmente esta enble y visible, pero su estado enable cambiara a false cuando entremos a insertar o modificar un registro.
//--------------------------
2: Panel de datos (PanelDatos) contendrá la información de nuestros campo para que los editemos, como podemos ver tanto los campos nivel como código tienen un color diferente, ya que se los he cambiado ya que los he puesto en enable=False, ya vereis por que.
Este panel es de tamaño fijo y dentro de el podemos ver lo puntos 3 y 4 que luego explicaremos.
El estado inicial de este panel es enable=false cambiando cuando entremos en edición o inserción de datos.
Los campos son la mayoría dbedits, cada uno se llamara inicialmente DBE y el campo que el, por ejemplo nivel sería DBENivel, mientras que código seria DBECódigo
También podemos ver un DBImagen, al que no le cambiare el nombre ya que es único en el formulario
Y por último tenemos un Memo al que he llamado MemoNotas, el motivo de no usar un DBMEMO es que los componentes IBX con Firebird dan problemas directamente con los componentes dbMemo estándar de Delphi, por lo que haremos el trabajo a pelo y usaremos un editor para el.
Realmente deberíamos usar un editor para los campos también, pero confiaremos en el sistema táctil de windows y dejaremos que el ponga su propio teclado, también podríamos hacerlo para el memo, pero quiero que veáis las dos opciones.
//----------------------------------
3: Para el DBnivel he añadido dos spedbuttons llamados SBmas y SBMenos, cada pulsación aumentara o disminuirá el nivel del usuario dentro de unos limites claro y estos están contenidos dentro del PanelDatos
//-----------------------------------
4: Otro Panel (PanelOculto) este contendrá los botones necesarios para ciertos campos, así como la confirmación o cancelación del registro. Su contenido en este caso es el siguiente SbCargarImagen, SbWebCam, SBEditMemo, SBConfirmar y SBCancelar, el primero carga una imagen, el segundo obtiene una imagen des de cámaras webcan (De muchos modelos), el tercero abre el editor del memo, el cuarto confirma los cambios y el último cancela el registro.
Este panel está oculto hasta que pulsemos nuevo o editar, volviéndose a ocultar en cuanto le demos a confirmar o cancelar
Podéis ver que hay varios Speedbuttons que están en enable=False, el motivo es que ahora los uso de separadores, ya que salvo los dos últimos estan alineados a la izquierda, mientras que los de confirmar y cancelar lo están a la derecha. Los botones no usados pueden estar enables por tener utilidad en otros momentos, ya lo veremos más adelante.
//----------------------------------
5: Es un dbgrid y he dejado el nombre que tenia, por supuesto queda organizar su aspecto. Lo he puesto en enable False
//---------------------------------
6: Panel mover (PanelMover) es una tontería de panel que podemos eliminar ya que sus opciones subir y bajar también las podemos usar con el DBNavigator, en este caso lo dejare a modo de que los que no tiene experiencia, puedan ver como movernos por los registros sin usar un dbnavigator, pero sólo aumenta el trabajo y no lo pondré en otras pantallas. Tendrá los mismo controles que el Botonera1
//-----------------------------------
7: Panel botonera 2 (Botonera2) este panel solo se pone visible cuando pulsemos búsqueda y en este caso será muy sencillo usando un simple locate, pero en otros casos será mucho más complejo su uso, ademas tiene los spedbuttons SBSalirBusqueda y SBEncontrar, supongo que se entiende su utilidad. Además tiene un edit que he dejado como tal
//-----------------------------------
Debo comentaros que los puntos 2,3,4,5,6 están dentro de otro panel que he llamado panelcontenedor y que para la distribución de los paneles y demás he usado mucho la propiedad Align