Pregunta: | 29812 - PROBLEMA AL DELIMITAR UNA VENTANA GRAFICA (SETBIEWPORT) |
Autor: | Manuel Aguilar |
Hola, alguno de ustedes me puede decir como se reestablecen las vetanas graficas despues de utilizar el (setviewport) a las cordenadas; 1,1, ya que despues de utilizarlo no puedo quitar la ventana y restablecerla
|
Respuesta: | Eider Mauricio Aristizabal Erazo |
Hola a todos los amantes del padre de los lenguajes de programación...
Espero que este ejemplo te ayude con algo... cualquier duda enviamela a mi correo y con el código fuente. 1) Debes limpiar el puerto que tenias abiero con la funcion clearviewport 2)Debes hacer un nuevo setviewport que te abarque toda la panalla. 3)En el código que sigue, puse algunos valores que se salen del rango de la pantalla, esto para verificar la funcinalidad del setviewport //Saludo a los de Colombia y Cali #include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> void RestaurarPantalla(); void main(void) { int gdriver = DETECT, gmode, errorcode; int ht; initgraph(&gdriver, &gmode, "c:\\tc\\bgi"); settextstyle(SMALL_FONT,HORIZ_DIR,4);setcolor(15); outtextxy(10,10,"Estoy en la posicion 10, 10 con el puerto de la pantalla"); setcolor(1);line(10,12,getmaxx(),12);setcolor(15); outtextxy(10,30,"Pulse Enter para pasar al nuevo puerto"); getch(); setviewport(100,100,getmaxx()-100,getmaxy()-100,1); setcolor(1);line(-1000,12,1000,12);setcolor(15); outtextxy(10,10,"Posicion 10, 10 del puerto setviewport(100,100,getmaxx()-100,getmaxy()-100,1);"); outtextxy(10,30,"Pulse Enter para regresar al puerto por defecto de la pantalla"); getch(); RestaurarPantalla(); outtextxy(10,10, "Estoy en la 10,10 de la pantalla por defecto, es decir que ya lo restaur‚"); getch(); } void RestaurarPantalla(){ cleardevice();//opcional clearviewport();//limpio el puerto que se encuentra abierto actualmente setviewport(0,0,getmaxx(),getmaxy(),1);//Puerto por defecto cleardevice();//opcional } |