Está en la página 1de 19

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

Diseo de Interfaz Grfica en Matlab

CAPTULO 3

3.%. Creando una G&I 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 desempe o del programa ante los comandos que el usuario pretenda ejecutar. !unque un programa sea muy poderoso, si se manipula por medio de una interfaz pobremente elaborada, tendr poco valor para un usuario ine"perto. #s por esto que las interfaces grficas tienen una gran importancia para usuarios ine"pertos o avanzados de cualquier programa ya que facilitan su uso. #jemplos de interfaces grficas son las ventanas de $ord, #"cel, la ventana de %atlab 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 $indo&s y 'inu". 'as interfaces grficas tambin se conocen como interfaces de usuario. #l nombre en ingls de las interfaces grficas es (rap)ical User *nterfase y se denominan (U*, por lo que nosotros tambin nos referiremos a ellas de la misma manera. #"isten diferentes lenguajes de programacin que permiten crear (U*s tales como +isual ,, +isual -asic, ./ y %!.'!- por mencionar algunos. .odos ellos permiten usar diferentes controles y tienen distintas maneras de programarlos. %!.'!- nos permite realizar (U*s de una manera sencilla usando una )erramienta llamada (U*0# 1(U* 0evelopment #nvironment2. #n este captulo presentaremos una introduccin muy completa a las tcnicas en %!.'!- para crear interfaces grficas. GUIDE 1Graphical User Interfase Development Environment2 es un juego de )erramientas que se e"tiende por completo en el soporte de %!.'!-, dise adas para crear (U*s 1(rap)ical User *nterfaces2 fcil y rpidamente, prestando ayuda en el dise o 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 1,allbac32 de cada uno de ellos, escribiendo el cdigo de %!.'!- que se ejecutar cuando el control sea utilizado. 4iempre ser difcil dise ar (U*s, pero no debera ser difcil implementarlas.

M Espaa Borrero errano

!"ina #$

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


(U*0# est dise ado para )acer menos tedioso el proceso de aplicacin de la interfaz grfica y obviamente para trabajar como )erramienta de trazado de (U*s. #ntre 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 %!.'!-. #l editor de propiedades por separado se puede concebir como una )erramienta de trazado, y asistente de codificacin 1revisin de nombres y valores de propiedades2. ,uando se fusiona con el panel de control, el editor de men, y )erramienta de alineacin, resulta una combinacin que brinda un inigualable control de los grficos en %!.'!-. #l beneficio que proporciona el uso de (U*s es evidente, ya que permiten al usuario ejecutar cmodamente cdigo desarrollado en %!.'!- sin necesidad de cumplir la incmoda sinta"is funcional necesaria cuando se trabaja desde la lnea de rdenes. ! diferencia de la ejecucin de funciones o scripts de %!.'!-, la ejecucin de (U*s no predetermina el flujo de ejecucin del cdigo. #s el usuario, a travs de su interaccin con el (U*, el que determina el orden en que se ejecutan las diferentes rdenes y funciones desarrolladas. 5tra diferencia importante es que la ejecucin no termina cuando finaliza la ejecucin del script o funcin, sino que el (U* permanece abierto, permitiendo al usuario invocar la ejecucin de ese u otro cdigo desarrollado.

#l desarrollo de (U*s se realiza en dos etapas6 0ise o de los componentes 1controles, mens y ejes2 que formarn el (U*. ,odificacin de la respuesta de cada uno de los componentes ante la interaccin del usuario.

M Espaa Borrero errano

!"ina #'

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

3.). Iniciando G&IDE


! la )erramienta (U*0# se accede de varias maneras, la primera de ellas es tecleando guide en la ventana de comando. 77 guide 5tra manera de entrar en (U*0# es travs de la opcin 8ile, )aciendo clic en 9e& y por ltimo eligiendo la opcin (U*, 1como se muestra en la figura2.

5tra de ellas consiste en buscar en el :'aunc) ;ad< la opcin referente a %atlab, )acer clic en ella, con lo que %atlab despliega las opciones que contiene, entre las que se encuentra la opcin :(uide 1(U* -uilder2<, tal como se muestra en la figura6

M Espaa Borrero errano

!"ina #(

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


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

Figura 1: Ventana de inicio de GUI

0onde se presentan las siguientes opciones6 a) Blank GUI (Default) 'a opcin de interfaz grfica de usuario en blanco 1viene predeterminada2, nos presenta un formulario nuevo, en el cual podemos dise ar nuestro programa. b) GUI with Uicontrols #sta 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. ;odemos ejecutar este ejemplo y obtener resultados. c) GUI with A es and !enu #sta opcin es otro ejemplo el cual contiene el men 8ile con las opciones 5pen, ;rint y ,lose. #n 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 )aciendo clic3 en el botn de comando.

M Espaa Borrero errano

!"ina #*

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


d) !odal "uestion Dialo# ,on esta opcin se muestra en la pantalla un cuadro de dilogo comn, el cual consta de una peque a imagen, una etiqueta y dos botones Yes y No, dependiendo del botn que se presione, el (U* retorna el te"to seleccionado 1la cadena de caracteres =>es? o =9o?2. 4i elegimos la primera opcin, Blank GUI, tenemos6

'os componentes principales de (U*0# son6 Barra de !en$s% !qu se encuentran las funciones elementales de #dicin de (U*s. &aleta de 'omponentes (component &alette)% !qu se encuentran los uicontrols, estos componentes permiten seleccionar los controles 1objetos2 que son los que se muestran en la figura.

(a Barra de )erramientas% #n ella se encuentran los siguientes botones Bot*n de e+ecuci*n (,un button)% !l presionarse crea la figura de la interfaz diseada en el Layout rea.

Alineaci*n de 'omponentes (Ali#nment tool)% esta opcin permite alinear los componentes que se encuentra en el rea de trabajo 1'ayout @rea2 de manera personalizada.

M Espaa Borrero errano

!"ina $+

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


Inspector de &ropiedades (&roperty Inspector)% con esta opcin se asignan y modifican las propiedades de cada objeto en forma personalizada.

-ave#ador de .b+etos (.b+ect Browser)% %uestra todos los objetos que se encuentran en la figura 1en forma de rbol2 y a travs del 5bject -ro&ser se pueden seleccionar los objetos.

Editor de !en$s (!en$ Editor)% #l redactor de %en crea mens de ventana y mens de conte"to.

3.3. ,lu-o de operaci.n con G&I


,on una (U*, el flujo de cmputo est controlado por las acciones en la interfaz. %ientras que en un script el flujo de comandos est predeterminado, el flujo de operaciones con una (U* no lo est. 'os 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 )aya completado la ejecucin del script. #n la figura siguiente se muestra el concepto bsico de la operacin del soft&are con una (U*. ,uando se interacta con un control, el programa registra el valor de esa opcin y ejecuta los comandos prescritos en la cadena de invocacin. 'os mens de interfaz con el usuario, los botones, los mens desplegables, los controladores deslizantes y el te"to editable son dispositivos que controlan las operaciones del soft&are. !l 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. #ste ciclo se repite )asta que se cierra el (U*. #l control guarda un string que describe la accin a realizar, cuando se invoca puede consistir en un solo comando de %!.'!- o una secuencia de comandos, o en una llamada a una funcin. #s recomendable utilizar llamadas a funciones, sobre todo cuando se requieren de ms de unos cuantos comandos en la invocacin.

M Espaa Borrero errano

!"ina $%

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

Figura 2. Flujo de opciones de GUI

-sicamente solo se necesitan entender cinco comandos para poder describir una (U*6 uimenu, uicontrol, get, set axes. 9o obstante, lo que )ace relativamente complicado a estos comandos es el gran nmero de formas de uso que tienen. #s imposible describir todos los tipos de situaciones, pues requiere demasiado espacio y sera muy laborioso leerlo. ;or tanto, solo trataremos de e"plicar los elementos bsicos de una (U*.

3./. 0r"anizaci.n de los ob-etos "rficos en Matlab


#l programa %!.'!- ofrece una serie de funciones de dibujo y visualizacin de datos, como es el caso de imsho!, imagesc o plot, por ejemplo. ,uando llamamos a una funcin grfica, %!.'!- crea el grfico requerido usando objetos como ventanas, ejes de coordenadas, lneas, te"to, etc. ;odemos trabajar con grficos en %!.'!- a tres niveles diferentes6

M Espaa Borrero errano

!"ina $)

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

Aealizando llamadas a funciones de dibujo y visualizacin. %!.'!muestra todas las grficas en un tipo de ventanas especiales conocidas como "igures, en las que se sitan unos ejes de coordenadas. #stos ejes son los que proporcionan el sistema de coordenadas necesario para realizar la visualizacin de los datos. .rabajando a Bbajo nivelB, )aciendo las llamadas necesarias a funciones de %!.'!- para ir creando los objetos grficos que sean necesarios para )acer la visualizacin. ! 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. #ste modo de trabajar es muy similar al uso tradicional de una biblioteca grfica que se puede )acer en un lenguaje de programacin convencional. #mpleando el (U*0#, el entorno de desarrollo de (U*s, 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 )erramienta grfica de cmodo manejo. !dems, 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 %!.'!-.

,omo podemos ver, en cualquiera de estos tres casos estamos )aciendo uso del sistema de objetos grficos de %!.'!-. #stos objetos grficos son los elementos bsicos empleados por %!.'!- 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 frecuentemente6

Figura 3. Jerarqua de objetos gr icos de !atlab

M Espaa Borrero errano

!"ina $3

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


,omo se ve en la figura C, el objeto ms general es la pantalla. #s la raz de la jerarqua. Una pantalla puede contener una o varias ventanas 1"igure2. ! su vez, cada una de las ventanas podr contener controles 1uicontrol2, como son los botones, mens desplegables, etc., mens 1uimenu2 y uno o ms ejes de coordenadas 1axes2 en los que se podrn representar objetos de nivel inferior. 'os ejes pueden incluir cinco tipos de elementos grficos6 lneas 1line2, polgonos 1patch2, te"to 1text#, superficies 1sur"ace2 e imgenes de mapa de bits $image2. !l establecerse relaciones padreD)ijo 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. ,ada objeto est asociado a un identificador 1handle2 nico desde el momento de su creacin. ! travs de este identificador podremos modificar las caractersticas 1llamadas propiedades del objeto2 de un objeto grfico. 9aturalmente, tambin podremos establecer las propiedades de un objeto en el momento de su creacin 1cambiarlas con respecto a los valores por omisin2. #l identificador del objeto raz, la pantalla, es siempre cero. #l identificador de las distintas ventanas 1"igure2 es un entero que aparecer en la barra de ttulo de la ventana. 'os identificadores de los dems objetos grficos son nmeros reales. ,ualquier identificador se puede obtener como valor de retorno de una funcin y almacenarse en una variable.

,omo )emos dic)o, puede )aber varias ventanas abiertas, pero slo una de ellas es la ventana activa en cada momento. 0e la misma forma, una ventana puede contener varios ejes de coordenadas, pero slo unos son los ejes activos. #l objeto activo ser el ltimo objeto creado o sobre el que se )aya )ec)o clic con el ratn. ;odemos obtener los identificadores de la ventana, los ejes y el objeto activos con las rdenes6 gcf6 devuelve un entero, el identificador de la ventana activa. gca6 devuelve el identificador de los ejes activos. gco6 devuelve el identificador del objeto activo.

'a 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 borrarlos6 set 1id26 muestra en pantalla todas las propiedades del objeto al que corresponde el identificador id. get 1id26 produce un listado de las propiedades y de sus valores. set 1id, EpropiedadE, EvalorE26 establece un nuevo valor para la propiedad del objeto con identificador id. 4e pueden establecer varias propiedades en la misma llamada a set incluyendo una lista de parejas EpropiedadE, EvalorE en la llamada. get 1id, EpropiedadE26 obtiene el valor de la propiedad especificada. delete 1id26 borra el objeto cuyo identificador es id y todos sus )ijos.

M Espaa Borrero errano

!"ina $/

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

3.#. !artes de G&IDE


%encionaremos las partes ms importantes de (U*0# y que posteriormente e"plicaremos con ms detalle. ! continuacin mostramos una lista de los controles ms )abituales.

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

,ada botn cuenta con una serie de propiedades que e"plicaremos en el apartado siguiente.

3.$. !ropiedades de los controles


'os controles de la interfaz con el usuario en %!.'!- se especifican con la orden uicontrol. #stos controles tienen muc)o en comn con los mens de la interfaz con el usuario, pero los primeros tienen muc)os estilos. 'a sinta"is de uicontrol es6 k = uicontrol (Style, especi icacin de estilo, ! Strin", cadena para ex#i$ir, ! %alue, &valor', ! Back"roundColor, &r,",$', ! Max &valor', ! Min &valor', ! (osition, &iz), $ase, anc#o, alto', ! CallBack, cadena de invocacion* donde especificacin de estilo es una de las siguientes cadenas6
M Espaa Borrero errano !"ina $#

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


popup pus# radio c#eck$ox slider edit (texto editable) text (texto esttico) rame

'as propiedades de iucontrol son similares a las de uimenu. 0estacamos6 a2 =+alue?, valor6 especifica el valor por omisin de ajuste. #n el caso de interruptores de encendidoFapagado, valor es G o H. #n el caso de un control deslizante 1slider2, puede ser cualquier valor entre el mnimo y el m"imo. b2 =%in?, +alor6 establece el valor mnimo. 4u significado difiere dependiendo del estilo. c2 =%a"?, +alor6 establece el valor m"imo. 4u significado difiere dependiendo del estilo. Iay muc)as 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.

/e to est0tico1 Un static text puede e")ibir smbolos, mensajes o incluso valores numricos de una (U*, y puede colocarse en un lugar deseado. #l te"to esttico no tiene cadenas de invocacin. ! continuacin mostramos un ejemplo de te"to esttico. k+ = uicontrol (,Style,, ,text,, ! ,Strin",, ,cadena para ex#i$ir,, ! ,(osition,, &-., /., +0., 1.'* #l contenido de un te"to e")ibido puede modificarse si es necesario. #sto se )ace con el comando set. ;or ejemplo, si se ejecuta el comando que sigue desde la ventana de comandos mientras est vigente el ejemplo anterior de orden uicontrol6 set (k+, ,strin",, ,2#ora aparece un texto modi icado3,*

M Espaa Borrero errano

!"ina $$

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

!en$ desple#able1 'os popDup 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.

&ush button 'os ;us) button generan una accin cuando )acemos clic3 con el puntero del ratn sobre ellos. ,uando se da clic3 en un pus) button, aparece presionadoJ cuando se suelta el botn del ratn, el botn aparece levantadoJ y su rutina de llamada se ejecuta.

'asilla de verificaci*n. 'as casillas de verificacin estn dise adas para realizar operaciones de encendidoFapagado. 'as posiciones de encendidoFapagado se registran en +alue que puede e"aminarse con get1)andle, KvalueK2. 'os comandos axis on y axis o"" se escriben en la cadena de invocacin.

Bot*n de radio. ,uando solo se usa un botn de radio, no e"iste diferencia funcional alguna con respecto a una casilla de verificacin. ;or otro lado, los botones de radio en grupo son mutuamente e"clusivos 1es decir, si un botn esta encendido, todos los dems botones se apagan2, mientras que las casillas de verificacin son independientes entre s. 4in embargo, esta caracterstica e"clusiva de los botones de radio slo puede implementarse mediante la programacin del usuario en la cadena de invocacin.

Barra desli2adora1 'os sliders aceptan datos de entrada numricos con un rango especfico. 'os usuarios mueven la barra dejando presionado el botn del mouse y arrastrndola, )aciendo clic3 en la flec)a. 'a posicin de la barra indica un valor numrico.

/e to editable1 #l dispositivo de te"to editable permite al usuario teclear una cadena de entrada. 4e pueden escribir varios valores numricos en forma de vector o matriz como cadena mediante el mismo dispositivoJ esta cadena se convertir posteriormente en valores numricos con el comando strLnum.

M Espaa Borrero errano

!"ina $'

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


Un ejemplo de uicontrol para te"to editable es6 ed+ = uicontrol ("c , ,Style,, ,edit,, ! ,(osition,, &+., -4., ++., -.', ! ,CallBack,, inp5txt = "et (ed+, ,,strin",,*,* 'as palabras clave en el comando anterior son ,Style,, ,editK y "et que capturan el te"to introducido.

!arcos1 #l estilo marcos puede servir para agrupar dispositivos como lo botones de radio o las casillas de verificacin.

Bot*n de palanca. #l toggle button genera una accin que indica un estado binario 1on u o""2. ,uando se )ace clic3 en un toggle button, aparece presionado y permanece as )asta que se suelta el botn del mouse, y en ese momento ejecuta la llamada. Un clic3 posterior del mouse regresa al toggle button a su estado original y vuelve a ejecutar la rutina de llamada.

'a+as de lista. #l componente 'ist -o" muestra una lista de artculos y permite a usuarios seleccionar unos o ms artculos.

!3(/I&(E4 E5E4
!l crear una interfaz con el usuario, a menudo )ay necesidad de trazar una o ms grficas dentro de la interfaz. ;odemos usar el comando subplot para este fin, pero el comando axes es ms fle"ible y ofrece opciones verstiles a los programadores. #l comando axes abre un eje en un punto especificado dentro de una ventana de figura.

&,.&E,/6 I-4&E'/.,
#l inspector de propiedades est compuesto de las siguientes propiedades o atributos, tal y como se muestra en la figura.
M Espaa Borrero errano !"ina $(

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

Figura 3. Inspector de "ropiedades

,ada uno de los controles tiene propiedades particulares, los cuales se analizan a continuacin6

Back#round'olor #l color usado para rellenar el rectngulo de unicontrol. #specfica un color usando un vector de tres elementos A(- 1rojo, verde y azul2 o uno de los nombres ya predefinidos en %atlab. #l color por BdefectoB es determinado por la configuracin del sistema.

BusyAction *nterrupcin de la rutina de llamada 1callbac32. 4i 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. 'a primera llamada puede ser interrumpida solamente por uno de los siguientes comandos6 dra!no!, "igure, get"rame,

M Espaa Borrero errano

!"ina $*

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


pause o !ait"orJ si la llamada no contiene ninguno de estos comandos no puede ser interrumpida. 4i la propiedad *nterruptible del objeto que est ejecutando la llamada est desactivada 1off2, la llamada no puede ser interrumpida 1e"cepto por algunas llamadas2. 'a propiedad Bus Action del objeto cuya llamada est esperando para ejecutarse determina lo que le pasa a la llamada6 4i el valor es %ueue, la llamada es agregada al evento %ueue y se ejecuta despus de que la primera llamada termina de ejecutarse. 4i el valor es &ancel, el evento es descartado y la llamada no se ejecuta.

Nota: 4i la llamada interrumpida es una llamada de 'elete(cn o &reate(cn o una de una figura de &lose)e%uest o )esi*e(cn, se interrumpe y ejecuta sin importar el valor de la propiedad *nterrumpible del objeto.

ButtonDown7cn Una rutina de llamada que se ejecuta cuando se presiona un botn del mouse mientras el cursor est en un uicontrol. ,uando la propiedad enable del unicontrol est desactivada, el Button'o!n(cn se ejecuta al )acer clic3 en el unicontrol. #sto es til para implementar acciones, para modificar interactivamente las propiedades de control del objeto, como el tama o y la posicin. #sta rutina se define como una cadena 1string2 que es una e"presin vlida en %atlab o el nombre de un arc)ivo % 1+,"ile2. 'a e"presin se ejecuta en el espacio de trabajo de %atlab. 'a propiedad de llamada define la rutina de llamada que se ejecuta cuando se )ace clic en el botn.

'allback ,ontrola la accin. Una rutina que se ejecuta cuando se activa un objeto de la clase uicontrol. 0efine esta rutina como una cadena. 'a e"presin se ejecuta en el espacio de trabajo de %atlab. ;ara ejecutar la rutina para un control de te"to editable, escribe el te"to deseado y despus sigue uno de los siguientes pasos6

M Espaa Borrero errano

!"ina '+

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


%ueve la seleccin del objeto 1da clic en cualquier otra parte2 ;ara un te"to editable de una sola lnea, presiona Aeturn ;ara una caja de te"to 1te"t bo"2, presiona ,trlDAeturn. #sta rutina definida para los componentes frame y ststic te"t no se ejecuta porque ninguna accin est asociada con estos objetos.

'data *magen de color verdadero mostrada en un control. Una matriz tridimensional de valores A(- que definen una imagen de color verdadero que es mostrada ya sea en un pus) button o un toggle button. ,ada valor debe tener un rango entre cero y uno.

'reate7cn Autina de llamada ejecutada cuando se crea un objeto. #sta propiedad define una rutina de llamada que es ejecutada cuando %atlab crea un objeto de la clase uicontrol. 4e debe definir esta propiedad como un valor por defecto para los uicontrols.

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

Enable !ctiva o desactiva el uicontrol. #sta propiedad controla cmo los uicontrols responden a un clic del mouse, incluyendo qu rutina de llamada se ejecuta. on D #l uicontrol es operacional inacti-e D no es operacional pero se ve como si estuviera activado o"" D 9o es operacional y su etiqueta se vuelve gris ,uando se )ace clic con el botn izquierdo del mouse sobre un objeto uicontrol que tiene su propiedad enable activada 1en on2, %atlab ejecuta las siguientes acciones6

M Espaa Borrero errano

!"ina '%

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


!signa la propiedad de la figura .election/ pe #jecuta la rutina de llamada del control. 9o asigna la propiedad de la figura &urrentPoint y tampoco ejecuta ni la propiedad de control Button'o!n(cn ni la rutina de llamada de la figura 0indo!Button'o!n(cn

,uando se )ace clic con el botn izquierdo del mouse sobre un objeto uicontrol que tiene su propiedad enable inactiva, o cuando se )ace clic derec)o en uno en el que #nable tiene cualquier valor, %atlab ejecuta estas acciones en este orden6 !signa la propiedad de la figura .election/ pe. !signa la propiedad de la figura &urrentPoint. #jecuta la rutina de llamada 0indo!Button'o!n(cn de la figura. #n un clic3 derec)o, si el uicontrol esta asociado con un conte"t menu, registra el conte"t menu. #jecuta la llamada Button'o!n(cn del control. #jecuta la llamada del elemento seleccionado del conte"t menu. 9o ejecuta la rutina de llamada del control. ;oniendo esta propiedad inactiva te capacita para implementar arrastre o cambio de tama o de objetos usando la rutina de llamada Button'o!n(cn1

E tent .ama o de un carcter cadena uicontrol. Un vector de cuatro elementos que define el tama o y la posicin de un carcter de tipo cadena usado para etiquetar el uicontrol. .iene la forma6 &., ., 6idt#, #ei"#t' 'os dos primeros elementos siempre son cero. &idt) 1anc)o2 y )eig)t 1alto2 son las dimenciones del rectngulo. .odas las medidas son unidades especificadas por la propiedad Units1

M Espaa Borrero errano

!"ina ')

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


>a que la propiedad 2xtent est definida en las mismas unidades que el uicontrol mismo, se puede usar esta propiedad para determinar el tama o adecuado del anc)o del uicontrol con respecto a su etiqueta. Iaciendo lo siguiente6 0efiniendo la propiedad .tring y seleccionando la fuente usando las propiedades relevantes. .omando el valor de la propiedad 2xtend 0efiniendo !idth y height de la propiedad Position 1posicin2 propiamente a ser de alguna manera ms grandes que !idth y height de 2xtend1

7ontAn#le *nclinacin de un carcter. ;oniendo esta propiedad en Italic 1italica2 u obli%ue 1oblicua2 selecciona una versin inclinada de la fuente, cuando est disponible en el sistema.

7ont-ame #l nombre de la fuente que mostrar la cadena. ;ara mostrar e imprimir correctamente, debe ser un tipo de fuente que el sistema soporte. ;ara usar un anc)o ajustado que se vea bien en cualquier e"terior 1y que se muestre correctamente en Mapn, donde usan caracteres BmultibyteB2, se debe poner al 8ont9ame la cadena 8i"ed$idt) 1esta cadena es sensible a las maysculas26 Set (uicontrol5#andle, 78ont9ame7, 78ixed:idt#7 *

7ont4i2e .ama o de la fuente. Un nmero que especifica el tama o de la fuente que va a ser mostrado en la cadena, en unidades determinadas por la propiedad (ontUnits. #l tama o por defecto es dependiente del sistema.

7ontUnits Unidades del tama o de la fuente. #sta propiedad determina las unidades usadas por la propiedad (ont.i*e.'as unidades normalizadas interpretan el (ont.i*e como una fraccin de la altura del uicontrol. ,uando se cambia el tama o del uicontrol,
M Espaa Borrero errano !"ina '3

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


%atlab modifica la pantalla (ont.i*e. pixels 1pi"eles2, inches 1pulgadas2, centimeters 1centimetros2 y points 1puntos2 son unidades absolutas 1H punto N HFOL pulgada2.

7ont8ei#ht ;eso de un carcter. ;oniendo esta propiedad en -old )ace que %atlab use una versin BnegritaB de la fuente, cuando est disponible en el sistema.

7ore#round'olor ,olor de te"to. #sta propiedad determina el color del te"to definido por la propiedad 4tring. #specifica un color usando un vector de tres elementos A(- o un nombre predefinido en %atlab.

M Espaa Borrero errano

!"ina '/

También podría gustarte