Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-06-2004
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Poder: 23
yusnerqui Va por buen camino
Talking Fantástico

Waoooo, quiero darte las gracias Román, yo fui quien abrió aquel hilo y te confieso que aunque quedé muy agradecido por el esfuerzo de todos los amigos del club mi aplicación no funcionó como yo quería hasta hoy que puse en práctica los trucos que das en este hilo. Gracias nuevamente.

Por cierto de donde lo sacarías

un saludo desde Cuba
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

Responder Con Cita
  #2  
Antiguo 08-06-2004
lafirma lafirma is offline
Miembro
 
Registrado: may 2003
Ubicación: Honduras
Posts: 159
Poder: 24
lafirma Va por buen camino
Roman, he observado tus ejemplos y funcionan a la perfeccion... agradezco tu evidente esfuerzo por encontrar una solucion...

Sin embargo debo mencionar que aun tengo contratiempos, pues el hecho de que el form sea maximizado ó no, se obtiene de un archivo Ini cada vez que se abren los forms, y se guarda cada vez que se cierran, por lo que los trucos mencionados no me funcionan tal cual estan, esoy intentando adaptarlos a lo que necesito, indicare mas adelante como resulto todo.
__________________
Saludos

Douglas Cruz
Responder Con Cita
  #3  
Antiguo 08-06-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.965
Poder: 29
delphi.com.ar Va camino a la fama
¿De que componente se trata?... si es alguno de los de las RxLibs, puedes suprimir este comportamiento simplemente quitando fpState de la propiedad Options.
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 08-06-2004
lafirma lafirma is offline
Miembro
 
Registrado: may 2003
Ubicación: Honduras
Posts: 159
Poder: 24
lafirma Va por buen camino
Es un componente personal, lo uso para recuperar el estado del form de una manera sencilla, le eche un vistazo al componente de las Rx que mencionas, no recordaba que las Rx tenian ese componente, yo solo uso los CurrencyEdit, CalcEdit y DateEdit junto con sus versiones DBAware...
De todas maneras al establecer el State en la propiedad Options lo que hace es que desactiva la capacidad de recuperar tambien el estado del form cuando se cerro, yo no quiero eso, el 'componentio' que tengo funciona como yo quiero, guarda y recupera todo, eso incluye estado, posicion y tamaño. El unico problemilla es el efecto ese que se produce al maximizar,
En un cliente que no tiene una maquina tan potente se ve mas 'real', aparece maximizado, se ubica en normal y despues nuavamente se maximiza, y se ve fatal... el cliente no dice nada de eso, ni le para mucho balin como decimos por aca, pero simplemente a mi no me deja satisfecho... quiero que se vea ya maximizado desde que el form aparece.

Intenté sobrescribiendo en la clase el metodo CreateParams, pero tampoco funciona... seguire investigando a ver que consigo...
__________________
Saludos

Douglas Cruz
Responder Con Cita
  #5  
Antiguo 08-06-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por lafirma
por lo que los trucos mencionados no me funcionan tal cual estan, esoy intentando adaptarlos a lo que necesito, indicare mas adelante como resulto todo.
En casa tengo algún código que se encargaba de estos detalles sin importar en qué momento se maximizaba el formulario. No puedo verificarlo ahora pero pienso que puedes intentar capturar el mensaje WM_SIZE para el formulario hijo, inhabilitando la animación antes de llamar a inherited y rehabilitandola después:

Código Delphi [-]
procedure TVentanaHija.WMSize(var Msg: TWMSize);
begin
  if Msg.SizeType = SIZE_MAXIMIZED then
  begin
    EnableAnimation(false);
    LockWindowUpdate(Handle);

    inherited;

    LockWindowUpdate(0);
    EnableAnimation(true);
  end
  else
    inherited;
end;

Si esto te funciona entonces bastaría que manejes este mensaje en el formulario base de manera que todos los hijos descendientes hereden el comportamiento.

Claro, que si no te interesa recuperar la maximización al momento de reabrir la aplicación entonces bastará hacer lo que te indica Federico.

Edición - Corrección

En la llamada a LockWindowUpdate de arriba tendrías que poner el 'handle' de la ventana padre, no el del mismo formulario hijo como puse.

// Saludos

Última edición por roman fecha: 08-06-2004 a las 18:47:09. Razón: Correción de concepto
Responder Con Cita
  #6  
Antiguo 08-06-2004
lafirma lafirma is offline
Miembro
 
Registrado: may 2003
Ubicación: Honduras
Posts: 159
Poder: 24
lafirma Va por buen camino
veo que ya voy encontrando la luz...
Roman, esto ya se ve mejor...
En cuanto a tu codigo editado, tienes razon, si es el handle hijo el que se ubica pues no surte ningun efecto...

Por otro lado, delphi.com, a raiz de tu mensaje estuve viendo el componenente de las Rx y realmente es muy potente... trae incluso su propio diseñador...

Debo decir que esto me tiene un poco desconcertado, deberia existir una manera de crear el form maximizado desde el inicio y no que se efectue la creacion como normal y despues se maximize... eso fue lo que intente al sobreescribir el metodo createparams pero tampoco funciona...

gracias de nuevo
__________________
Saludos

Douglas Cruz

Última edición por lafirma fecha: 08-06-2004 a las 19:36:37.
Responder Con Cita
  #7  
Antiguo 08-06-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.965
Poder: 29
delphi.com.ar Va camino a la fama
Cita:
Empezado por lafirma
Por otro lado, delphi.com, a raiz de tu mensaje estuve viendo el componenente de las Rx y realmente es muy potente... trae incluso su propio diseñador...
Cometí el error de no leer todo tu mensaje, y entendí que otro era el problema, por eso mi sugerencia. Con respecto a estos componentes de las Rx, se trata de dos componentes, uno con una potencialidad extra muuuy interesante. El TFormPlacement, sirve para guardar la posición, estado y posición del foco de un formulario, pudiendo extender a otras propiedades de otros componentes o simplemente variables desde los eventos OnSavePlacement y OnRestorePlacement con los métodos Write.. y Read.., y el TFormStorage trae un editor de propiedades que nos permite guardar el valor casi cualquier propiedad de los componentes contenidos por el formulario. Otra ventaja de estos controles, es que estan soportados por algunos componentes como el TRxDBGrid y pueden enlazarse con este para que se guarde automáticamente el ancho y posición de las columnas...

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #8  
Antiguo 18-11-2005
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 24
JXJ Va por buen camino
Roman. '¿de donde conoces que hacen esas funciones?

estuve buscando en la ayuda de delphi
y en internet.
pero no encuentro, lo de
lockwindow
EnableAnimation(false);

y nada,. yo solo quiero deshabilitar el ver
la animacion.

ya revise aui.
http://www.clubdelphi.com/foros
/showthread.php?t=8831&highlight=maximizar

y esta bueno, el poner windowstate:= wsmaximized

vale gracias.
Responder Con Cita
  #9  
Antiguo 18-11-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
EnableAnimation no la encontrarás porque es sólo el nombre que le puse yo a la función de más arriba, que usa SystemParametersInfo. Tanto esta última como LockWindowUpdate están documentadas en el SDK de Windows.

// Saludos
Responder Con Cita
  #10  
Antiguo 30-07-2006
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 24
JXJ Va por buen camino
¿como obtengo En la llamada a LockWindowUpdate de arriba el 'handle' de la ventana padre, no el del mismo formulario hijo ?

no doy como hacerlo.. de varias formas he intendado
que no se muestre la animacion pero siempre
se muestra a la mitad y queda por como medio segundo

gracias
Responder Con Cita
  #11  
Antiguo 31-07-2006
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 24
JXJ Va por buen camino
o ¿ alguien que si le haya funcionado ,, algun metodo para
no mostrar el efecto de la animacion al mostrar la ventana hija
y que puede proporcionarlo =?

Gracias
Responder Con Cita
  #12  
Antiguo 31-07-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Anteriormente había mencionado que quizá funcionaría usando el mensaje WM_SIZE pero no tenía manera de verificarlo en ese momento. Ahora que lo hago veo que no es el mejor lugar. De hecho, según leo en la documentación, WM_SIZE ocurre después de que la ventana cambia de tamaño por lo que es lógio que no funcione.

Según pruebo ahora, puedes intentar con el mensaje WM_SYSCOMMAND:

Código Delphi [-]
procedure TForm2.WMSysCommand(var Msg: TWMSysCommand);
begin
  if (Msg.CmdType and $FFF0 = SC_MAXIMIZE) or (Msg.CmdType and $FFF0 = SC_RESTORE) then
  begin
    EnableAnimation(false);
    //LockWindowUpdate(Application.MainForm.Handle);

    inherited;

    //LockWindowUpdate(0);
    EnableAnimation(true);
  end
  else
    inherited;
end;

Como ves, he comentado las líneas de LockWindowUpdate pues al inhabilitar la animación, parece que no son necesarias.

// Saludos
Responder Con Cita
  #13  
Antiguo 03-08-2006
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 24
JXJ Va por buen camino
vieras Roman que no me funciona...
se sigue notando la animacion...

sigo probando, con el codigo
para que me funcione a mi tambien.

gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 07:28:54.


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
Copyright 1996-2007 Club Delphi