Como puedo saber la resolución que tiene mi pc, por medio del power builder, es decir, si estoy con una configuración 800x600.
1 Respuesta
Respuesta de davidpy
1
1
davidpy, Licenciado en Analisis de Sistemas Informaticos
Este es un código que te ayudara con tu problema.. cualquier cosa no dudes en consultar.. el código no es mio.. lo baje de una página.. pero de todos modos es muy sencillo... espero que te sirva.. //Primero hay que declarar algunas variables globales: CONSTANT Integer DevelopWidth = 800 environment env Long scrHeight Long scrWidth //La variable DevelopWidth deberá establecerse al ancho de la resolución en la que estás desarrollando la aplicación. En mi caso, yo estoy usando 800 x 600. //Las variables env, scrHeight, y scrWidth son usadas para obtener y guardar la resolución actual de largo y ancho. //- Escribir en el evento OPEN de la aplicación: integer rtn rtn = GetEnvironment(env) scrHeight = env.screenheight scrWidth = env.screenwidth //- Después, crea una función global para la aplicación llamada winsize que devuelva un entero y pase como argumentos dos variables, w_ref of type window, y b_sizewindow de tipo boolean. Ambas se pasan por valor. //W_ref sea una referencia a la ventana que quieres cambiar de tamaño. //El valor booleano b_sizewindow determinará si tu también quieres poner un largo y ancho de ventana, //Al igual que los controles. Yo uso esto en mi aplicación porque es una aplicación MDI, //Y abro las ventanas en cascada, las cuales llenan todo el espacio de la aplicación, por eso no quiero que se cambien //de tamaño. Sin embargo, quiero cambiar el tamaño de algunas ventanas Pop-up. //- Aquí está la función winsize, modificada de una ya hecha en los ejemplos de PB. Dragobject temp Line temp2 Integer cnt, i double ratio // Cálculo de la relación ratio = scrWidth / DevelopWidth // Si la relación es 1, entonces la resolución actual es la misma que la resolución en la que se desarrolló la aplicación, así que no hacemos nada. if ratio = 1 then return 0 end if //- Para usar esto, escribe en el evento Open de la ventana: boolean resizeWin ResizeWin = false // En este caso no se cambia el tamaño de la ventana. Winsize(this, resizeWin)