Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-06-2005
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Question forma siempre visible.

'¿como puedo lograr que mi forma este siempre visible.?

he estado probando con lo siguiente compila una parte y
no da el resultaod deseado la forma se sigue ocultando , cuando
cambio a otra ventana o programa.,

esto de abajo lo encontre en latium software de aqui
http://www.latiumsoftware.com/es/pascal/0025.php
Para que un formulario se mantenga siempre visible por encima de otros
formularios, tanto pertenecientes a la misma aplicación como a otras
aplicaciones, podemos establecer el valor de la propiedad FormStyle en
fsStayOnTop. Si luego deseáramos volver el formulario a la normalidad,
podemos establecer FormStyle en fsNormal. Sin embargo, modificar el
calor de la propiedad FormStyle en tiempo de ejecución no se recomienda.
En vez de ello, podemos usar la función SetWindowPos de la API de
Windows pasándole HWND_TOPMOST como segundo parámetro para activar el
efecto:
Código Delphi [-]
  procedure TForm1.Button1Click(Sender: TObject);
  begin
    SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0,
      SWP_NOMOVE + SWP_NOSIZE);
  end;
Para desactivar este efecto, volvemos a llamar a SetWindowPos, esta vez
pasándole WND_NOTOPMOST como segundo parámetro:
{este codigo me da problemas. con lo de WND_NOTOPMOST}
  procedure TForm1.Button1Click(Sender: TObject);
  begin
    SetWindowPos(Handle, WND_NOTOPMOST, 0, 0, 0, 0,
      SWP_NOMOVE + SWP_NOSIZE);
  end;
----------------
La ventana que quiero este siempre visible es una creada modalmente.,

vale gracias por su atención
Responder Con Cita
  #2  
Antiguo 27-08-2006
sanxpue sanxpue is offline
Miembro
 
Registrado: jul 2003
Posts: 196
Poder: 21
sanxpue Va por buen camino
Smile Saludos

Bueno ya se que despues de mas de un año, pero nunca es tarde.. el codigo que bajaste esta bien nada mas que le la falta la H en el segundo procedimiento

Código Delphi [-]
  procedure TForm1.Button1Click(Sender: TObject);
  begin
    SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0,
      SWP_NOMOVE + SWP_NOSIZE);
  end;

  Para desactivar este efecto, volvemos a llamar a SetWindowPos, esta vez
  pasándole HWND_NOTOPMOST como segundo parámetro:
  {este codigo me da problemas. con lo de WND_NOTOPMOST}

  procedure TForm1.Button1Click(Sender: TObject);
  begin
    SetWindowPos(Handle, HWND_NOTOPMOST, 0, 0, 0, 0,
      SWP_NOMOVE + SWP_NOSIZE);
  end;

Y Saludos a todos.. no me he muerto lo que pasa es que me congelaron como a paleta jo (En el mi extrabajo)

Saludos
__________________
saludos desde Puebla Mexico..
asanxt@hotmail.com
"como siempre a sus ordenes y siempre con buena cara"
'lolita me excitas, perversa piel de melocotón'
Responder Con Cita
  #3  
Antiguo 28-08-2006
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Gracias Sanxpue

ese codigo, siempre es util.
Responder Con Cita
  #4  
Antiguo 26-01-2011
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Excelente... justo estaba buscando esto

Código Delphi [-]
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0,SWP_NOMOVE + SWP_NOSIZE);
Salu2
__________________
BlueSteel
Responder Con Cita
  #5  
Antiguo 27-01-2011
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Ya sé que esto es viejo, pero desde siempre lo mejor para que la forma de cada uno sea siempre visible es ir desnudo, o como mucho con un tanga...
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #6  
Antiguo 27-01-2011
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Estimados,,,, tengo un pequeño problema con la ejecución del codigo

Código Delphi [-]
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0,SWP_NOMOVE + SWP_NOSIZE);

Bueno, este se ejecuta bien, pero segun cierta condición, me arroja un mensaje con el codigo

Código Delphi [-]
ShowMessage('Credencial ya ha ingresado.....');

el problema es que no puedo ver el mensaje y tampoco cerrarlo, y se me queda estancado el sistema...

como puedo solucionar esto...

Salu2
__________________
BlueSteel
Responder Con Cita
  #7  
Antiguo 28-01-2011
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Creo que aquí lo importante es saber cuál es esa "cierta condición". Pon un poco más de código (el método completo, por ejemplo).
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #8  
Antiguo 28-01-2011
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Cita:
Empezado por Ñuño Martínez Ver Mensaje
Creo que aquí lo importante es saber cuál es esa "cierta condición". Pon un poco más de código (el método completo, por ejemplo).

a lo que voy es que el formulario queda siempre visible... en el formulario estoy ingresando a través de un lector de codigos de barra en un Edit un codigo (credenciales que las personas compran para ingresar al Estadio)... ese codigo se consulta en la base y las condiciones las arroja...

- Si codigo es correcto, pregunta si existe en la base... si no existe lanza un mensaje...

el mensaje lo lanzo con el
Código Delphi [-]
ShowMessage('Credencial no existe.....');

- Si el codigo existe, pregunto si ya ha ingresado por la puerta...

si lo ha realizado lanzo otro mensaje

Código Delphi [-]
ShowMessage('Credencial ya ha ingresado.....');

- y por ultimo si no ha ingresado, tambien tengo que preguntar si la credencial esta bloqueada lo que realizo con el sgte mensaje
Código Delphi [-]
ShowMessage('Credencial esta BLOQUEADA.....');
si ninguna de las condiciones anteriores se cumple, recien guardo el registro en la base.

lo que pasa es que los mensajes que lanza, no los puedo visualizar por que el formulario esta siempre visible, y por ende no puedo seguir trabajando


espero haberme explicado bien...

Salu2
__________________
BlueSteel
Responder Con Cita
  #9  
Antiguo 04-02-2011
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
¿Y por qué no intentas forzar el foco para que la ventana sea visible antes de mostrar el mensaje?

Si ya lo has intentado, sin éxito, pues no sé qué más se puede hacer...
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
Respuesta



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 11:56:52.


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