You are on page 1of 19

Captulo 3..........

Diseo de Interfaz Grfica en Matlab

CAPTULO 3

3.1. Creando una GUI en Matlab


Una interfaz grfica es el vnculo entre el usuario y un programa computacional, constituida generalmente por un conjunto de comandos o mens, instrumentos y mtodos por medio de los cuales el usuario se comunica con el programa durante las operaciones que se desean realizar, facilitando la entrada y salida de datos e informacin. Una interfaz es una de las partes ms importantes de cualquier programa puesto que determina qu tan factible y preciso ser el desempeo del programa ante los comandos que el usuario pretenda ejecutar. Aunque un programa sea muy poderoso, si se manipula por medio de una interfaz pobremente elaborada, tendr poco valor para un usuario inexperto. Es por esto que las interfaces grficas tienen una gran importancia para usuarios inexpertos o avanzados de cualquier programa ya que facilitan su uso. Ejemplos de interfaces grficas son las ventanas de Word, Excel, la ventana de Matlab entre otras. Una interfaz grfica consta de botones, mens, ventanas, etc, que permiten utilizar de una manera muy simple y en ocasiones casi intuitiva programas realizados en ambientes como Windows y Linux. Las interfaces grficas tambin se conocen como interfaces de usuario. El nombre en ingls de las interfaces grficas es Graphical User Interfase y se denominan GUI, por lo que nosotros tambin nos referiremos a ellas de la misma manera. Existen diferentes lenguajes de programacin que permiten crear GUIs tales como Visual C, Visual Basic, TK y MATLAB por mencionar algunos. Todos ellos permiten usar diferentes controles y tienen distintas maneras de programarlos. MATLAB nos permite realizar GUIs de una manera sencilla usando una herramienta llamada GUIDE (GUI Development Environment). En este captulo presentaremos una introduccin muy completa a las tcnicas en MATLAB para crear interfaces grficas. GUIDE (Graphical User Interfase Development Environment) es un juego de herramientas que se extiende por completo en el soporte de MATLAB, diseadas para crear GUIs (Graphical User Interfaces) fcil y rpidamente, prestando ayuda en el diseo y presentacin de los controles de la interfaz, reduciendo la labor al grado de seleccionar, tirar, arrastrar y personalizar propiedades. Una vez que los controles estn en posicin se editan las funciones de llamada (Callback) de cada uno de ellos, escribiendo el cdigo de MATLAB que se ejecutar cuando el control sea utilizado. Siempre ser difcil disear GUIs, pero no debera ser difcil implementarlas.

M Espaa Borrero Serrano

Pgina 56

Captulo 3..........Diseo de Interfaz Grfica en Matlab


GUIDE est diseado para hacer menos tedioso el proceso de aplicacin de la interfaz grfica y obviamente para trabajar como herramienta de trazado de GUIs. Entre sus poderosos componentes est el editor de propiedades (property editor), ste se encuentra disponible en cualquier momento que se est lidiando con los controles de MATLAB. El editor de propiedades por separado se puede concebir como una herramienta de trazado, y asistente de codificacin (revisin de nombres y valores de propiedades). Cuando se fusiona con el panel de control, el editor de men, y herramienta de alineacin, resulta una combinacin que brinda un inigualable control de los grficos en MATLAB. El beneficio que proporciona el uso de GUIs es evidente, ya que permiten al usuario ejecutar cmodamente cdigo desarrollado en MATLAB sin necesidad de cumplir la incmoda sintaxis funcional necesaria cuando se trabaja desde la lnea de rdenes. A diferencia de la ejecucin de funciones o scripts de MATLAB, la ejecucin de GUIs no predetermina el flujo de ejecucin del cdigo. Es el usuario, a travs de su interaccin con el GUI, el que determina el orden en que se ejecutan las diferentes rdenes y funciones desarrolladas. Otra diferencia importante es que la ejecucin no termina cuando finaliza la ejecucin del script o funcin, sino que el GUI permanece abierto, permitiendo al usuario invocar la ejecucin de ese u otro cdigo desarrollado.

El desarrollo de GUIs se realiza en dos etapas: Diseo de los componentes (controles, mens y ejes) que formarn el GUI. Codificacin de la respuesta de cada uno de los componentes ante la interaccin del usuario.

M Espaa Borrero Serrano

Pgina 57

Captulo 3..........Diseo de Interfaz Grfica en Matlab

3.2. Iniciando GUIDE


A la herramienta GUIDE se accede de varias maneras, la primera de ellas es tecleando guide en la ventana de comando. >> guide Otra manera de entrar en GUIDE es travs de la opcin File, haciendo clic en New y por ltimo eligiendo la opcin GUI, (como se muestra en la figura).

Otra de ellas consiste en buscar en el Launch Pad la opcin referente a Matlab, hacer clic en ella, con lo que Matlab despliega las opciones que contiene, entre las que se encuentra la opcin Guide (GUI Builder), tal como se muestra en la figura:

M Espaa Borrero Serrano

Pgina 58

Captulo 3..........Diseo de Interfaz Grfica en Matlab


A continuacin, se presenta el siguiente cuadro de dilogo, correspondiente con la Ventana de inicio de GUI:

Figura 1: Ventana de inicio de GUI

Donde se presentan las siguientes opciones: a) Blank GUI (Default) La opcin de interfaz grfica de usuario en blanco (viene predeterminada), nos presenta un formulario nuevo, en el cual podemos disear nuestro programa. b) GUI with Uicontrols Esta opcin presenta un ejemplo en el cual se calcula la masa, dada la densidad y el volumen, en alguno de los dos sistemas de unidades. Podemos ejecutar este ejemplo y obtener resultados. c) GUI with Axes and Menu Esta opcin es otro ejemplo el cual contiene el men File con las opciones Open, Print y Close. En el formulario tiene un Popup menu, un push button y un objeto Axes, podemos ejecutar el programa eligiendo alguna de las seis opciones que se encuentran en el men despegable y haciendo click en el botn de comando.

M Espaa Borrero Serrano

Pgina 59

Captulo 3..........Diseo de Interfaz Grfica en Matlab


d) Modal Question Dialog Con esta opcin se muestra en la pantalla un cuadro de dilogo comn, el cual consta de una pequea imagen, una etiqueta y dos botones Yes y No, dependiendo del botn que se presione, el GUI retorna el texto seleccionado (la cadena de caracteres Yes o No). Si elegimos la primera opcin, Blank GUI, tenemos:

Los componentes principales de GUIDE son: Barra de Mens: Aqu se encuentran las funciones elementales de Edicin de GUIs. Paleta de Componentes (component Palette): Aqu se encuentran los uicontrols, estos componentes permiten seleccionar los controles (objetos) que son los que se muestran en la figura.

La Barra de Herramientas: En ella se encuentran los siguientes botones Botn de ejecucin (Run button): Al presionarse crea la figura de la interfaz diseada en el Layout rea.

Alineacin de Componentes (Alignment tool): esta opcin permite alinear los componentes que se encuentra en el rea de trabajo (Layout rea) de manera personalizada.

M Espaa Borrero Serrano

Pgina 60

Captulo 3..........Diseo de Interfaz Grfica en Matlab


Inspector de Propiedades (Property Inspector): con esta opcin se asignan y modifican las propiedades de cada objeto en forma personalizada.

Navegador de Objetos (Object Browser): Muestra todos los objetos que se encuentran en la figura (en forma de rbol) y a travs del Object Browser se pueden seleccionar los objetos.

Editor de Mens (Men Editor): El redactor de Men crea mens de ventana y mens de contexto.

3.3. Flujo de operacin con GUI


Con una GUI, el flujo de cmputo est controlado por las acciones en la interfaz. Mientras que en un script el flujo de comandos est predeterminado, el flujo de operaciones con una GUI no lo est. Los comandos para crear una interfaz con el usuario se escriben en un script, la interfaz invoca que se ejecute el script, mientras la interfaz del usuario permanece en la pantalla aunque no se haya completado la ejecucin del script. En la figura siguiente se muestra el concepto bsico de la operacin del software con una GUI. Cuando se interacta con un control, el programa registra el valor de esa opcin y ejecuta los comandos prescritos en la cadena de invocacin. Los mens de interfaz con el usuario, los botones, los mens desplegables, los controladores deslizantes y el texto editable son dispositivos que controlan las operaciones del software. Al completarse la ejecucin de las instrucciones de la cadena de invocacin, el control vuelve a la interfaz para que pueda elegirse otra opcin del men. Este ciclo se repite hasta que se cierra el GUI. El control guarda un string que describe la accin a realizar, cuando se invoca puede consistir en un solo comando de MATLAB o una secuencia de comandos, o en una llamada a una funcin. Es recomendable utilizar llamadas a funciones, sobre todo cuando se requieren de ms de unos cuantos comandos en la invocacin.

M Espaa Borrero Serrano

Pgina 61

Captulo 3..........Diseo de Interfaz Grfica en Matlab

Figura 2. Flujo de opciones de GUI

Bsicamente solo se necesitan entender cinco comandos para poder describir una GUI: uimenu, uicontrol, get, set y axes. No obstante, lo que hace relativamente complicado a estos comandos es el gran nmero de formas de uso que tienen. Es imposible describir todos los tipos de situaciones, pues requiere demasiado espacio y sera muy laborioso leerlo. Por tanto, solo trataremos de explicar los elementos bsicos de una GUI.

3.4. Organizacin de los objetos grficos en Matlab


El programa MATLAB ofrece una serie de funciones de dibujo y visualizacin de datos, como es el caso de imshow, imagesc o plot, por ejemplo. Cuando llamamos a una funcin grfica, MATLAB crea el grfico requerido usando objetos como ventanas, ejes de coordenadas, lneas, texto, etc. Podemos trabajar con grficos en MATLAB a tres niveles diferentes:

M Espaa Borrero Serrano

Pgina 62

Captulo 3..........Diseo de Interfaz Grfica en Matlab

Realizando llamadas a funciones de dibujo y visualizacin. MATLAB muestra todas las grficas en un tipo de ventanas especiales conocidas como figures, en las que se sitan unos ejes de coordenadas. Estos ejes son los que proporcionan el sistema de coordenadas necesario para realizar la visualizacin de los datos. Trabajando a "bajo nivel", haciendo las llamadas necesarias a funciones de MATLAB para ir creando los objetos grficos que sean necesarios para hacer la visualizacin. A este nivel se realizarn mltiples llamadas a la funcin set y otras similares para establecer las propiedades de los distintos objetos grficos que se vayan creando o para modificarlas durante la ejecucin del programa. Este modo de trabajar es muy similar al uso tradicional de una biblioteca grfica que se puede hacer en un lenguaje de programacin convencional. Empleando el GUIDE, el entorno de desarrollo de GUIs, que nos permitir definir todos los componentes grficos que deseemos, establecer sus propiedades e incorporar cdigo de respuesta a cada una de las acciones del usuario a travs de una herramienta grfica de cmodo manejo. Adems, tiene la ventaja de que en cualquier momento podremos elegir si deseamos trabajar a alto o bajo nivel, pudiendo acceder al cdigo asociado a travs del editor de MATLAB.

Como podemos ver, en cualquiera de estos tres casos estamos haciendo uso del sistema de objetos grficos de MATLAB. Estos objetos grficos son los elementos bsicos empleados por MATLAB para visualizar datos, y estn organizados en una jerarqua como la de la siguiente figura, en la que se muestran los tipos de objetos grficos empleados ms frecuentemente:

Figura 3. Jerarqua de objetos grficos de Matlab

M Espaa Borrero Serrano

Pgina 63

Captulo 3..........Diseo de Interfaz Grfica en Matlab


Como se ve en la figura 3, el objeto ms general es la pantalla. Es la raz de la jerarqua. Una pantalla puede contener una o varias ventanas (figure). A su vez, cada una de las ventanas podr contener controles (uicontrol), como son los botones, mens desplegables, etc., mens (uimenu) y uno o ms ejes de coordenadas (axes) en los que se podrn representar objetos de nivel inferior. Los ejes pueden incluir cinco tipos de elementos grficos: lneas (line), polgonos (patch), texto (text), superficies (surface) e imgenes de mapa de bits (image). Al establecerse relaciones padre-hijo entre los objetos grficos se facilita su gestin, ya que, por ejemplo, cuando se borra un objeto, se borrarn automticamente todos los descendientes de ste. Cada objeto est asociado a un identificador (handle) nico desde el momento de su creacin. A travs de este identificador podremos modificar las caractersticas (llamadas propiedades del objeto) de un objeto grfico. Naturalmente, tambin podremos establecer las propiedades de un objeto en el momento de su creacin (cambiarlas con respecto a los valores por omisin). El identificador del objeto raz, la pantalla, es siempre cero. El identificador de las distintas ventanas (figure) es un entero que aparecer en la barra de ttulo de la ventana. Los identificadores de los dems objetos grficos son nmeros reales. Cualquier identificador se puede obtener como valor de retorno de una funcin y almacenarse en una variable.

Como hemos dicho, puede haber varias ventanas abiertas, pero slo una de ellas es la ventana activa en cada momento. De la misma forma, una ventana puede contener varios ejes de coordenadas, pero slo unos son los ejes activos. El objeto activo ser el ltimo objeto creado o sobre el que se haya hecho clic con el ratn. Podemos obtener los identificadores de la ventana, los ejes y el objeto activos con las rdenes: gcf: devuelve un entero, el identificador de la ventana activa. gca: devuelve el identificador de los ejes activos. gco: devuelve el identificador del objeto activo.

La principal utilidad que tiene conocer los identificadores de los objetos grficos es que a travs de ellos podremos modificar las propiedades de los objetos o incluso borrarlos: set (id): muestra en pantalla todas las propiedades del objeto al que corresponde el identificador id. get (id): produce un listado de las propiedades y de sus valores. set (id, 'propiedad', 'valor'): establece un nuevo valor para la propiedad del objeto con identificador id. Se pueden establecer varias propiedades en la misma llamada a set incluyendo una lista de parejas 'propiedad', 'valor' en la llamada. get (id, 'propiedad'): obtiene el valor de la propiedad especificada. delete (id): borra el objeto cuyo identificador es id y todos sus hijos.

M Espaa Borrero Serrano

Pgina 64

Captulo 3..........Diseo de Interfaz Grfica en Matlab

3.5. Partes de GUIDE


Mencionaremos las partes ms importantes de GUIDE y que posteriormente explicaremos con ms detalle. A continuacin mostramos una lista de los controles ms habituales.

Caja de lista Marco Cuadro de edicin Barra de deslizamiento Cuadro de texto

Botn de activacin Botn de seleccin Botn de eleccin Botn de presin Botn de aparicin

Cada botn cuenta con una serie de propiedades que explicaremos en el apartado siguiente.

3.6. Propiedades de los controles


Los controles de la interfaz con el usuario en MATLAB se especifican con la orden uicontrol. Estos controles tienen mucho en comn con los mens de la interfaz con el usuario, pero los primeros tienen muchos estilos. La sintaxis de uicontrol es: k = uicontrol (Style, especificacin de estilo, String, cadena para exhibir, Value, [valor], BackgroundColor, [r,g,b], Max [valor], Min [valor], Position, [izq, base, ancho, alto], CallBack, cadena de invocacion) donde especificacin de estilo es una de las siguientes cadenas:
M Espaa Borrero Serrano Pgina 65

Captulo 3..........Diseo de Interfaz Grfica en Matlab


popup push radio checkbox slider edit (texto editable) text (texto esttico) frame

Las propiedades de iucontrol son similares a las de uimenu. Destacamos: a) Value, valor: especifica el valor por omisin de ajuste. En el caso de interruptores de encendido/apagado, valor es 0 o 1. En el caso de un control deslizante (slider), puede ser cualquier valor entre el mnimo y el mximo. b) Min, Valor: establece el valor mnimo. Su significado difiere dependiendo del estilo. c) Max, Valor: establece el valor mximo. Su significado difiere dependiendo del estilo. Hay muchas ms propiedades que pueden incluirse en los comandos del uicontrol, tal como sucede con las propiedades del uimenu, aunque al programar conviene minimizar el nmero de propiedades a fin de simplificar el script.

Texto esttico. Un static text puede exhibir smbolos, mensajes o incluso valores numricos de una GUI, y puede colocarse en un lugar deseado. El texto esttico no tiene cadenas de invocacin. A continuacin mostramos un ejemplo de texto esttico. k1 = uicontrol (Style, text, String, cadena para exhibir, Position, [20, 50, 140, 30]) El contenido de un texto exhibido puede modificarse si es necesario. Esto se hace con el comando set. Por ejemplo, si se ejecuta el comando que sigue desde la ventana de comandos mientras est vigente el ejemplo anterior de orden uicontrol: set (k1, string, Ahora aparece un texto modificado.)

M Espaa Borrero Serrano

Pgina 66

Captulo 3..........Diseo de Interfaz Grfica en Matlab

Men desplegable. Los pop-up mens difieren de los mens de interfaz con el usuario en que pueden aparecer en cualquier punto de la ventana de la figura, mientras que los mens de interfaz con el usuario solo se localizan en la parte superior.

Push button Los Push button generan una accin cuando hacemos click con el puntero del ratn sobre ellos. Cuando se da click en un push button, aparece presionado; cuando se suelta el botn del ratn, el botn aparece levantado; y su rutina de llamada se ejecuta.

Casilla de verificacin. Las casillas de verificacin estn diseadas para realizar operaciones de encendido/apagado. Las posiciones de encendido/apagado se registran en Value que puede examinarse con get(handle, value). Los comandos axis on y axis off se escriben en la cadena de invocacin.

Botn de radio. Cuando solo se usa un botn de radio, no existe diferencia funcional alguna con respecto a una casilla de verificacin. Por otro lado, los botones de radio en grupo son mutuamente exclusivos (es decir, si un botn esta encendido, todos los dems botones se apagan), mientras que las casillas de verificacin son independientes entre s. Sin embargo, esta caracterstica exclusiva de los botones de radio slo puede implementarse mediante la programacin del usuario en la cadena de invocacin.

Barra deslizadora. Los sliders aceptan datos de entrada numricos con un rango especfico. Los usuarios mueven la barra dejando presionado el botn del mouse y arrastrndola, haciendo click en la flecha. La posicin de la barra indica un valor numrico.

Texto editable. El dispositivo de texto editable permite al usuario teclear una cadena de entrada. Se pueden escribir varios valores numricos en forma de vector o matriz como cadena mediante el mismo dispositivo; esta cadena se convertir posteriormente en valores numricos con el comando str2num.

M Espaa Borrero Serrano

Pgina 67

Captulo 3..........Diseo de Interfaz Grfica en Matlab


Un ejemplo de uicontrol para texto editable es: ed1 = uicontrol (gcf, Style, edit, Position, [10, 260, 110, 20], CallBack, inp_txt = get (ed1, string)) Las palabras clave en el comando anterior son Style, edit y get que capturan el texto introducido.

Marcos. El estilo marcos puede servir para agrupar dispositivos como lo botones de radio o las casillas de verificacin.

Botn de palanca. El toggle button genera una accin que indica un estado binario (on u off). Cuando se hace click en un toggle button, aparece presionado y permanece as hasta que se suelta el botn del mouse, y en ese momento ejecuta la llamada. Un click posterior del mouse regresa al toggle button a su estado original y vuelve a ejecutar la rutina de llamada.

Cajas de lista. El componente List Box muestra una lista de artculos y permite a usuarios seleccionar unos o ms artculos.

MLTIPLES EJES
Al crear una interfaz con el usuario, a menudo hay necesidad de trazar una o ms grficas dentro de la interfaz. Podemos usar el comando subplot para este fin, pero el comando axes es ms flexible y ofrece opciones verstiles a los programadores. El comando axes abre un eje en un punto especificado dentro de una ventana de figura.

PROPERTY INSPECTOR
El inspector de propiedades est compuesto de las siguientes propiedades o atributos, tal y como se muestra en la figura.
M Espaa Borrero Serrano Pgina 68

Captulo 3..........Diseo de Interfaz Grfica en Matlab

Figura 3. Inspector de Propiedades

Cada uno de los controles tiene propiedades particulares, los cuales se analizan a continuacin:

BackgroundColor El color usado para rellenar el rectngulo de unicontrol. Especfica un color usando un vector de tres elementos RGB (rojo, verde y azul) o uno de los nombres ya predefinidos en Matlab. El color por "defecto" es determinado por la configuracin del sistema.

BusyAction Interrupcin de la rutina de llamada (callback). Si una llamada es ejecutada y el usuario activa un evento en un objeto para el cual una llamada est definida, esa llamada trata de interrumpir la primera llamada. La primera llamada puede ser interrumpida solamente por uno de los siguientes comandos: drawnow, figure, getframe,

M Espaa Borrero Serrano

Pgina 69

Captulo 3..........Diseo de Interfaz Grfica en Matlab


pause o waitfor; si la llamada no contiene ninguno de estos comandos no puede ser interrumpida. Si la propiedad Interruptible del objeto que est ejecutando la llamada est desactivada (off), la llamada no puede ser interrumpida (excepto por algunas llamadas). La propiedad BusyAction del objeto cuya llamada est esperando para ejecutarse determina lo que le pasa a la llamada: Si el valor es queue, la llamada es agregada al evento queue y se ejecuta despus de que la primera llamada termina de ejecutarse. Si el valor es Cancel, el evento es descartado y la llamada no se ejecuta.

Nota: Si la llamada interrumpida es una llamada de DeleteFcn o CreateFcn o una de una figura de CloseRequest o ResizeFcn, se interrumpe y ejecuta sin importar el valor de la propiedad Interrumpible del objeto.

ButtonDownFcn Una rutina de llamada que se ejecuta cuando se presiona un botn del mouse mientras el cursor est en un uicontrol. Cuando la propiedad enable del unicontrol est desactivada, el ButtonDownFcn se ejecuta al hacer click en el unicontrol. Esto es til para implementar acciones, para modificar interactivamente las propiedades de control del objeto, como el tamao y la posicin. Esta rutina se define como una cadena (string) que es una expresin vlida en Matlab o el nombre de un archivo M (M-file). La expresin se ejecuta en el espacio de trabajo de Matlab. La propiedad de llamada define la rutina de llamada que se ejecuta cuando se hace clic en el botn.

Callback Controla la accin. Una rutina que se ejecuta cuando se activa un objeto de la clase uicontrol. Define esta rutina como una cadena. La expresin se ejecuta en el espacio de trabajo de Matlab. Para ejecutar la rutina para un control de texto editable, escribe el texto deseado y despus sigue uno de los siguientes pasos:

M Espaa Borrero Serrano

Pgina 70

Captulo 3..........Diseo de Interfaz Grfica en Matlab


Mueve la seleccin del objeto (da clic en cualquier otra parte) Para un texto editable de una sola lnea, presiona Return Para una caja de texto (text box), presiona Ctrl-Return. Esta rutina definida para los componentes frame y ststic text no se ejecuta porque ninguna accin est asociada con estos objetos.

Cdata Imagen de color verdadero mostrada en un control. Una matriz tridimensional de valores RGB que definen una imagen de color verdadero que es mostrada ya sea en un push button o un toggle button. Cada valor debe tener un rango entre cero y uno.

CreateFcn Rutina de llamada ejecutada cuando se crea un objeto. Esta propiedad define una rutina de llamada que es ejecutada cuando Matlab crea un objeto de la clase uicontrol. Se debe definir esta propiedad como un valor por defecto para los uicontrols.

DeleteFcn Una rutina de llamada que se ejecuta cuando se borra un objeto uicontrol. Matlab ejecuta la rutina antes de destruir las propiedades del objeto, as sus valores estn disponibles para la rutina de llamada.

Enable Activa o desactiva el uicontrol. Esta propiedad controla cmo los uicontrols responden a un clic del mouse, incluyendo qu rutina de llamada se ejecuta. on - El uicontrol es operacional inactive - no es operacional pero se ve como si estuviera activado off - No es operacional y su etiqueta se vuelve gris Cuando se hace clic con el botn izquierdo del mouse sobre un objeto uicontrol que tiene su propiedad enable activada (en on), Matlab ejecuta las siguientes acciones:

M Espaa Borrero Serrano

Pgina 71

Captulo 3..........Diseo de Interfaz Grfica en Matlab


Asigna la propiedad de la figura SelectionType Ejecuta la rutina de llamada del control. No asigna la propiedad de la figura CurrentPoint y tampoco ejecuta ni la propiedad de control ButtonDownFcn ni la rutina de llamada de la figura WindowButtonDownFcn

Cuando se hace clic con el botn izquierdo del mouse sobre un objeto uicontrol que tiene su propiedad enable inactiva, o cuando se hace clic derecho en uno en el que Enable tiene cualquier valor, Matlab ejecuta estas acciones en este orden: Asigna la propiedad de la figura SelectionType. Asigna la propiedad de la figura CurrentPoint. Ejecuta la rutina de llamada WindowButtonDownFcn de la figura. En un click derecho, si el uicontrol esta asociado con un context menu, registra el context menu. Ejecuta la llamada ButtonDownFcn del control. Ejecuta la llamada del elemento seleccionado del context menu. No ejecuta la rutina de llamada del control. Poniendo esta propiedad inactiva te capacita para implementar arrastre o cambio de tamao de objetos usando la rutina de llamada ButtonDownFcn.

Extent Tamao de un carcter cadena uicontrol. Un vector de cuatro elementos que define el tamao y la posicin de un carcter de tipo cadena usado para etiquetar el uicontrol. Tiene la forma: [0, 0, width, height] Los dos primeros elementos siempre son cero. width (ancho) y height (alto) son las dimenciones del rectngulo. Todas las medidas son unidades especificadas por la propiedad Units.

M Espaa Borrero Serrano

Pgina 72

Captulo 3..........Diseo de Interfaz Grfica en Matlab


Ya que la propiedad Extent est definida en las mismas unidades que el uicontrol mismo, se puede usar esta propiedad para determinar el tamao adecuado del ancho del uicontrol con respecto a su etiqueta. Haciendo lo siguiente: Definiendo la propiedad String y seleccionando la fuente usando las propiedades relevantes. Tomando el valor de la propiedad Extend Definiendo width y height de la propiedad Position (posicin) propiamente a ser de alguna manera ms grandes que width y height de Extend.

FontAngle Inclinacin de un carcter. Poniendo esta propiedad en Italic (italica) u oblique (oblicua) selecciona una versin inclinada de la fuente, cuando est disponible en el sistema.

FontName El nombre de la fuente que mostrar la cadena. Para mostrar e imprimir correctamente, debe ser un tipo de fuente que el sistema soporte. Para usar un ancho ajustado que se vea bien en cualquier exterior (y que se muestre correctamente en Japn, donde usan caracteres "multibyte"), se debe poner al FontName la cadena FixedWidth (esta cadena es sensible a las maysculas): Set (uicontrol_handle, 'FontName', 'FixedWidth' )

FontSize Tamao de la fuente. Un nmero que especifica el tamao de la fuente que va a ser mostrado en la cadena, en unidades determinadas por la propiedad FontUnits. El tamao por defecto es dependiente del sistema.

FontUnits Unidades del tamao de la fuente. Esta propiedad determina las unidades usadas por la propiedad FontSize.Las unidades normalizadas interpretan el FontSize como una fraccin de la altura del uicontrol. Cuando se cambia el tamao del uicontrol,
M Espaa Borrero Serrano Pgina 73

Captulo 3..........Diseo de Interfaz Grfica en Matlab


Matlab modifica la pantalla FontSize. pixels (pixeles), inches (pulgadas), centimeters (centimetros) y points (puntos) son unidades absolutas (1 punto = 1/72 pulgada).

FontWeight Peso de un carcter. Poniendo esta propiedad en Bold hace que Matlab use una versin "negrita" de la fuente, cuando est disponible en el sistema.

ForegroundColor Color de texto. Esta propiedad determina el color del texto definido por la propiedad String. Especifica un color usando un vector de tres elementos RGB o un nombre predefinido en Matlab.

M Espaa Borrero Serrano

Pgina 74

You might also like