Tema 03 - Interfaz Con El Usuario
Tema 03 - Interfaz Con El Usuario
Tema 03 - Interfaz Con El Usuario
TEMA 3
Índice
1 Objetivos
2 Conceptos básicos sobre GUI
3 Ejemplos de Sistemas Gráficos de Usuario
4 Ejemplos de Interfaces de Usuario
5 Diseño de un Interfaz de Usuario
6 Entorno de Programación Gráfico de Builder C++
7 Actividades
8 Bibliografía
RGB
Historia
CGA
Resolución (horizontal x vertical) Colores
320x200 4
640x200 2 (monocromo)
EGA
Resolución (horizontal x vertical) Colores
320x200 16
640x200 16
640x350 16
Historia
VGA
Resolución (horizontal x vertical) Colores
640x480 256
4K o UHD
QHD, Quad HD
FHD, Full HD
HD
Dirección de web:
http://ptolemy.eecs.berkeley.edu
void informar(void) {
rueda();
gotoxy(16,2);
printf("%2.1f",LeeTemp());
gotoxy(16,3);
printf("%2.1f",LeeNivel());
gotoxy(16,4);
if (LeeAlarmaRebose() == ON)
printf("ON ");
else printf ("OFF");
gotoxy(16,5);
if (LeeAlarmaTermo() == ON)
printf("ON ");
else printf ("OFF");
gotoxy(16,7);
if (LeeMotor() == ON)
printf("ON ");
else printf ("OFF");
gotoxy(16,8);
if (LeeTermo() == ON) printf("ON "); else
printf ("OFF");
gotoxy(16,9);
if (LeeValvula() == ON) printf("ON "); else
printf ("OFF");
}
INFORMÁTICA Interfaz gráfica de usuario (GUI) 20
INDUSTRIAL
Interfaz gráfica de usuario: Proyecto del depósito
• Características
• Recomendaciones
• Manipulación de objetos
• Plataformas
• Ejemplo en TC++
Centro: 25.23
Radio:45.3
Combinación de manipulación
directa y caja de diálogos
– Width y Height, son las magnitudes que hay que sumar a Left y Top
para determinar la esquina opuesta (la inferior derecha) del objeto.
(Left,Top) (Left+Width,Top)
– Ejemplo:
(Left,Top+Height) (Left+Width,Top+Height)
– Otra propiedad de la pluma (Pen) nos permite dibujar con más o menos
anchura, es el estilo (Style) que puede ser: psSolid (línea continua),
psDash (guiones), psDot (puntos), psDashDot (punto+guión),
psDashDotDot (línea+punto+guión), psClear (sin línea) , psInsideFrame
(línea contínua, si ancho>1 puede usar diferente color).
– Ejemplos:
Form1 -> Shape1 -> Pen -> Color = clLime; /*Color lima*/
Form1 -> Shape1 -> Pen -> Color = (TColor)RGB(0,0,255);
Form1 -> Shape1 -> Brush -> Color = clRed;
Form1 -> Shape1 -> Pen -> Style = psSolid; /*Trazo continuo*/
INFORMÁTICA Interfaz gráfica de usuario (GUI) 39
INDUSTRIAL
6- Entorno de programación gráfico de Builder C++:
El Control Shape: Propiedad “Pen” y “Color”
–Otra propiedad de la brocha Brush, que muestra el tipo de superficie relleno, puede
ser de alguno de los siguientes: bsSolid (relleno sólido), bsClear (sin relleno),
bsHorizontal (líneas horizontales), bsVertical (líneas verticales), bsFDiagonal (diagonal),
bsBDiagonal (diagonal), bsCross (cuadrícula), bsDiagCross (cuadrícula diagonal).
Ejemplos:
/*dibuja el color real de la pluma especificado por la propiedad Color*/
Shape1 -> Pen -> Mode = pmCopy;
Shape1 -> Brush -> Style = bsCross; /*dibuja un relleno con trama cruzada*/
Shape1 -> Pen -> Width = 8; /*establece el grueso del pincel*/
Actividad:
Dibujar una elipse de posición y tamaño como los que se indican:
90,130 120 (ancho)
60 (alto)
–Es la forma más sencilla de dibujar un objeto (o insertar una foto). Para
ello se utiliza el icono de la izquierda del que está al lado de Shape, en
la paleta Aditional de los componentes
Doble “Click”
(a false) (a true)
(a false) (a true)
(a false) (a true)
– Ejemplos:
Actividad:
/* Dibuja una línea desde el origen anterior, y de longitud 95 pixels más a la derecha */
Canvas->LineTo(Imagen1->Left+Imagen1->Width+100,Imagen1->Top);
Nota: Deberemos crear un evento para poder dibujar estas líneas. Por ejemplo,
en el “clik” de un botón.
Al pulsar el
botón aparece
la línea de nivel
Actividad:
En el C++ Builder, acceder a la ayuda de TCanvas y hacer un repaso de
los distintos métodos y demás opciones disponibles.
Actividad:
• Haciendo uso de la ayuda del C++ Builder intentar dibujar un arco en las
coordenadas que se quieran.
Solución
if (Form1->CheckBox1->Checked==true) . . .
• Actividad:
if (Form1->RadioButton1->Checked==true) . . .
else if (Form1->RadioButton2->Checked==true) . . .
else . . .
INFORMÁTICA Interfaz gráfica de usuario (GUI) 69
INDUSTRIAL
Entorno de programación gráfico de Builder C++:
RadioButton
• Actividad:
• Actividad:
• Actividad:
- Item 1: 12 puntos.
- Item 2: 14 puntos.
- Item 3: 18 puntos.
• Actividad:
• Actividad:
(Left,Top) (Left+Width,Top)
• Actividad:
Actividades
Actividades
Llenar
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BoffClick(TObject *Sender)
{
Form1 -> Label1 -> Color = clRed;
Form1 -> Label1 -> Caption = "OFF";
Shape3 -> Visible = false;
Shape2 -> Visible = false;
Shape4 -> Visible = true;
}
Actividad:
Añadiendo un botón para cada apartado y uso de TCanvas, dibujar:
• En la coordenada (150,70) el mensaje “Hola Mundo”, usar fuente Arial de
18 puntos
Canvas->Font->Name="Arial";
Canvas->Font->Size = 18;
Canvas->TextOut (150,70,"Hola Mundo");
• Dibujar un rectángulo de 160 pixels de altura, 200 pixels de ancho y con
esquina superior izquierda en (300,200). Verificar opción de relleno.
Canvas->Rectangle(300,200,500,360);
Canvas->Brush->Color = clRed;
Canvas->FloodFill(400,300,clWhite,fsSurface);
Haciendo uso de la ayuda del C++ Builder intentar dibujar un arco en las
coordenadas que se quieran.
Canvas->Arc (10,20,100,200, 50,60, 5,50);
• Webs:
http://ptolemy.eecs.berkeley.edu
http://www.labview.com