![]() |
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 |
Cita:
En lugar de eso tienes que poner el 'handle' de la ventana donde deseas mover el foco. // Saludos |
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 |
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... ;) |
La franja horaria es GMT +2. Ahora son las 20:44:09. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi