Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-10-2006
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 24
ixMike Va por buen camino
Pues muchas gracias,
y eso, a ver si a alguien más se le ocurre algo...
Responder Con Cita
  #2  
Antiguo 08-04-2007
d-hugo d-hugo is offline
Miembro
 
Registrado: abr 2007
Posts: 34
Poder: 0
d-hugo Va por buen camino
otras ideas

En cuanto a poner la ventana TopMost, tu problema se resuelve facilmente con la función API SetWindowsPos:

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

Poniendo la propiedad WindowState en swMaximized y usando esta función deberías conseguir lo que deseas.

Los flags SWP_NOMOVE y SWP_NOSIZE mantienen el tamaño y la posición actual de la ventana, de lo contrario tienes que llenar los parámetros que están en cero. Busca en la ayuda del Windows SDK para más información sobre la función.

Una ventaja de esta función sobre la propiedad fsStayOnTop (aparte de poderse usar en aplicaciones MDI) es que al poner y quitar dicha propiedad la ventana suele parpadear, cosa que no sucede al usar la función con los parámetros HWND_TOPMOST o HWND_NOTOPMOST según sea el caso.

En relación al hotkey, ten presente que hacer una ventana TopMost no implica que el hotkey será system wide. Es decir, que cuando la ventana pierda el foco perderás la funcionalidad del KeyPreview. Busca en Google con las siguientes palabras clave y encontrarás información al respecto:
delphi system wide hotkey

Disculpa lo tardío de la respuesta, pero me registré hace poco. En cualquier caso, pensé que esto podría servir de ayuda a otros.

Saludos, Hugo
Responder Con Cita
  #3  
Antiguo 09-04-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por d-hugo
Disculpa lo tardío de la respuesta, pero me registré hace poco. En cualquier caso, pensé que esto podría servir de ayuda a otros.
Sí. Está muy bien la respuesta. Me quedo con que la función "SetWindowPos" evita el desagradable parpadeo que se produce utilizando la propiedad "fsStayOnTop" de los formularios (no MDIs). Muchas gracias.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 11-04-2007
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 24
ixMike Va por buen camino
Muchísimas gracias, d-hugo.

Debido a los estudios y otros proyectos había dejado de lado el programa que me producía el problema (el cual no solucioné). Tendré que probar eso que me has dicho, parece ser la mejor opción.

Gracias otra vez. Saludos a todos.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿cuál es mejor: "close" o "application.terminate"? unreal4u Varios 5 05-03-2007 11:01:19
"ChequeaEsto" elegido el futuro "Killer CLubDelphi" mamcx Noticias 51 31-10-2006 20:56:32
porque no me reconoce los caracteres "*" ni "%" cuando filtro mrmago Conexión con bases de datos 10 27-01-2006 04:21:16
Tipo de Variable."String" ó "Double" UTECYBER OOP 7 15-12-2003 20:25:39


La franja horaria es GMT +2. Ahora son las 06:13:13.


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