Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ejecucion de programa (https://www.clubdelphi.com/foros/showthread.php?t=35571)

Iskariote0087 14-09-2006 10:01:51

ejecucion de programa
 
Hola hola, tengo un pequeño problema a ver si algu¡en me echa un cable!. Tengo un programa desarrollado en un PC con una pantalla de 17", el programa cuando se ejecuta ocupa toda la pantalla porque asi lo quiero.El problema es que cuando ejecuto este programa en el portatil que la pantalla es de 15" hay una parte del programa que no veo.Me salen las barras de desplazamiento pero no quiero eso, lo que necesito es que se ejecute donde lo ejecute se ajuste al tamaño de la pantalla.Recuerdo que en Visual habia una forma con 'Resize' no se no me hagais mucho caso:o .Bueno no se si hay alguna manera pero si la hay seguro que bosotros la conoceis.Gracias

Un saludete Perretes ;)
Iskariote

Neftali [Germán.Estévez] 14-09-2006 10:37:35

Es facil saber la resolución de panrtalla; Busca en la ayuda de Delphi sobre la variable Screen; A partir de ahí en el evento OnShow del formulario puedes cambiar el tamaño y posición de este a partir de la resolución que has obtenido (una regla de tres).

xEsk 15-09-2006 02:37:02

Si quieres obtener solo el area de trabajo (vamos el escritorio usable, sin la barra de inicio) puedes usar esto:

Código Delphi [-]
var
  R: TRect;
begin
  // Obtiene el area de trabajo exacto (sin contar el menu inicio
  // sea cual sea su altura, posicion, etc etc... ya q obtendras el
  // area de trabajo REAL (usable))
  SystemParametersInfo(SPI_GETWORKAREA, 0, @r, 0);

Asi pues en la variable R tienes ahora el Left, Top, Right, Bottom q son valores Enteros, o TopLeft, BottomRight q son del tipo TPoint.

Saludos.

Iskariote0087 15-09-2006 09:26:29

Sigo con el tema
 
:rolleyes: Ya, todo esto esta muy bien, pero creo que no me he explicado bien.El problema no se trata de que el programa ocupe toda la pantalla, el tema esta en que cuando el programa ocupa toda la pantalla todos los componentes que tengo deberian moverse para cojer su posicion dentro de la pantalla en la que se este ejecutanto.Mi problema es que cuando ejecuto el programa en un equipo con el monitor mas pequeño el programa si se ejecuta en el total de la pantalla pero hay botones que ni siquiera llego a ver.Q pasa que si quiero llegar a ver todos los botones etc. tengo que moverlos uno por uno?,no existe una funcion que maximice el programa y resitue todos los componentes de forma automatica?espero que si porque si no menudo curro!!!
Espero que en esta ocasion me entendais y me podais ayudar,:o gracias, gracias

Un saludo
Iskariote

Neftali [Germán.Estévez] 15-09-2006 11:47:59

Cita:

Empezado por Iskariote0087
en un equipo con el monitor mas pequeño

¿Estamos hablando de monitores más pequeños o resoluciones más pequeñas?
Por que lo uno no tiene nada que ver con lo otro.

Normalmente se debe diseñar un programa para trabajar correctamente en la resolución más pequeña en que se va a utilizar. Si diseñas un form que ocupa 850 pixels de ancho y lo llevas a un ordenador que trabaja a 800x600, pues como comprenderás no hay muchas opciones; O lo haces más pequeño o no cabe. ?¿?¿?¿

Iskariote0087 15-09-2006 12:33:52

tienes razon.....
 
:confused: Ya, tienes razon no tiene nada que ver una cosa con la otra.En realidad de lo que estoy hablando es de resoluciones diferentes, en el PC tengo una resolucion de 1828x1024 y en el portatil no me permite poner esta configuracion.el tema esta en que yo creia que de alguna manera sin tener que hacer el programa mas pequeño podria hacer que se ajustase a la resolucion que tenga.Creo aver visto en alguna ocasion un programa que al maximizarlo todos sos componentes se resituan y cuando lo minimizas vuelven a su lugar.Eso podria hacerlo a pelo recorriendo todos los componentes pero seria muy engorroso.De todas formas gracias por las aclaraciones, me han servido mucho.Un saludete:p

Neftali [Germán.Estévez] 15-09-2006 13:56:57

Ok, puedes intentar hacerlo, utilizando las propiedades de Align y Anchors de los controles, pero siempre se hace partiendo de la resolución más pequeña; Y utilizando dichas propiedades se puede hacer que los controles/paneles/... se agranden de una determinada forma si el formulario se agranda, pero al contrario me resulta difícil de imaginar.

También hay controles que intentan solventar este problema, pero nunca he sabido ninguno que lo haga de forma correcta. Busca por internet, prueba alguno y ya nos dirás...


La franja horaria es GMT +2. Ahora son las 08:26:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi