Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-11-2003
Avatar de champy
champy champy is offline
Miembro
 
Registrado: sep 2003
Ubicación: Alicante, España
Posts: 75
Poder: 21
champy Va por buen camino
Quiero enviar mensajes a Windows

A ver, realmente lo que quiero es enviar el mensaje WM_NextDlgCtl a Windows para que haga saltar el foco al siguiente control, he estado buscando informacion al respecto y he averiguado que es recomendable mandar el mensaje con la funcion del Api PostMessage(Handle, Mensaje, parametro, parametro) es decir, estoy intentando hacer...

PostMessageW(HWND_BROADCAST, WM_NextDlgCtl ,0 ,0);

Pero por alguna extraña razon que escapa a mi comprension esto no funciona, compila pero no hace absolutamente nada.... ¿Alguien podria decirme Porque?

Un saludo a tod@s
Responder Con Cita
  #2  
Antiguo 23-11-2003
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:
champy comentó:
PostMessageW(HWND_BROADCAST, WM_NextDlgCtl ,0 ,0);
¿De dónde sale HWND_BROADCAST? Esto se usa para mandar un mensaje a todas las ventanas y no creo que un mensaje como el que quieres pueda trabajar así ya que sólo una ventana tiene el foco.

En lugar de eso tienes que poner el 'handle' de la ventana donde deseas mover el foco.

// Saludos
Responder Con Cita
  #3  
Antiguo 24-11-2003
Avatar de champy
champy champy is offline
Miembro
 
Registrado: sep 2003
Ubicación: Alicante, España
Posts: 75
Poder: 21
champy Va por buen camino
Muchas gracias, problema resuelto, lo solucionado pasandole en AOwner Como TForm

PostMessage((AOwner as TForm).handle, wm_nextdlgctl ,0 ,0);

con esto funciona perfectamente ¿Se nota mucho que estoy empezando con los coponentes y que aun no tengo mucha idea? jjeje

Aun así, si se crea el componente en ejecucion y se pasa NIL al AOwner, no podria enviar enviar el mensaje ¿Alguien sabe si hay otra forma de averiguar quien es el formulario padre ?, Lo probaria con parent pero noes valido puesto que este puede ser un TPanel ...

Muchas gracias
Responder Con Cita
  #4  
Antiguo 25-11-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cool

No se exactamente si funcionaría... pero podes enviarle el mensaje a la aplicación, que siempre existirá, no??

O bien al Parent, que siempre será un TWinControl:

PostMessage((Parent as TWinControl).handle, wm_nextdlgctl ,0 ,0);

Probalo y me contas...

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
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 13:25:28.


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