Enviar un mensaje personalizado a todas las formas de aplicación


Breve tutorial sobre cómo enviar un mensaje personalizado de windows para todas las formas en una aplicación

Esto suena como lo que debería ser una tarea bastante simple. Lamentablemente la documentación en delphi está faltando en este tema.
Para empezar este tutorial de crear un nuevo proyecto en delphi y añadir 2 nuevas formas. Guarde todos los archivos y el uso de los nombres predeterminados de Form1, Form2, Form3.

ahora Estamos listos :)

Hay algunos pasos a seguir.

  • Definir Constantes de Mensaje
  • Definir manejadores de mensajes
  • Enviar mensaje a todas las formas

Definir Constantes de Mensaje
Esto es fácil, sólo tiene que añadir a la declaración, en los usos de la sección de form1 como sigue:

const
JR_1 = WM_USER 1

WM_USER es el windows zona definida de WM valores que se pueden utilizar. A la hora de crear mensajes personalizados comenzar siempre en WM_USER X..., valores que se deben evitar son WM_USER 100, 500, 1000, etc. debido a que el componente de los escritores tienden a usar estos valores comunes para sus propios fines.

Definir manejadores de mensajes

Para hacer esto más claro y reducir el código que he creado un formulario de clase que de todas formas en este ejemplo se basa en:

Añadir este código a los Usos de la sección debajo de la const declaración que acaba de agregar.

tipo
TMessageForm = class (TForm)
protegido
procedimiento JR1(var Message: TMessage) mensaje JR_1
fin

Ahora, agregue el código siguiente a la sección de implementación.

{- TMessageForm.JR1 }
procedimiento TMessageForm.JR1(var Message: TMessage)
begin
Caption := 'Mensaje Recibido'
fin

Ok, así que ahora tenemos una clase de formulario que puede responder a nuestro mensaje personalizado. Todo lo que tenemos que hacer es cambiar todas las formas que se derivan de TMessageForm en lugar de TForm, así:

TForm1 = class (TMessageForm)
fin

Usted tendrá que añadir 'unit1' a la cláusula uses en unidades de 2 & 3 como así.

utiliza Windows, Messages, SysUtils, Classes, Graphics, Controles, Formularios, cuadros de diálogo, Unit1

Usted también tendrá que hacer de todas las formas visibles en el arranque. hacemos esto mediante la edición de los proyectos .el dpr archivo. Esto se puede hacer abriendo el archivo en el bloc de notas, o mediante el Administrador de Proyectos.

Para abrir el Administrador de Proyecto presione CTRL ALT F11, a continuación, seleccione la derecha haga clic en el nombre del proyecto y seleccione 'ver código fuente'

Pegue el código siguiente:

usos
Formularios
Windows
Unit1 en ' Unit1.pas' {Form1},
Unit2 en 'Unit2.pas' {Form2},
Unit3 en 'Unit3.pas' {Form3}

{$R *.RES}

begin
Aplicación.Inicializar
Aplicación.CreateForm(TForm1, Form1)
Aplicación.CreateForm(TForm2, Form2)
ShowWindow(Form2.Manejar, SW_SHOW)
Aplicación.CreateForm(TForm3, Form3)
ShowWindow(Form3.Manejar, SW_SHOW)
Aplicación.Ejecutar
final.

Hemos añadido Windows a la sección uses porque tenemos que llamar a ShowWindow. ShowWindow, hace exactamente lo que dice en la lata), se muestra un formulario por el mango.

Ahora estamos listos para enviar los mensajes a todos los formularios de la aplicación.

Enviar mensaje a todas las formas

Añadir un botón a form1 y doble clic en él.
Pega este código.

{- TForm1.Button1Click }
procedure TForm1.Button1Click(Sender: TObject)
var i: Integer
begin
for i:=0 en la Pantalla.FormCount -1
Pantalla.Formas[i].Realizar(JR_1,0,0)
fin

Ahora, ejecute la aplicación y todos están ordenados )
Si usted tiene problemas en el seguimiento de este artículo, a continuación, puede descargar el código fuente completo aquí:









Enviar un mensaje personalizado a todas las formas de aplicacion


Enviar un mensaje personalizado a todas las formas de aplicacion : Multi-millones de consejos para hacer su vida mas facil.


Breve tutorial sobre como enviar un mensaje personalizado de windows para todas las formas en una aplicacion

Esto suena como lo que deberia ser una tarea bastante simple. Lamentablemente la documentacion en delphi esta faltando en este tema.
Para empezar este tutorial de crear un nuevo proyecto en delphi y añadir 2 nuevas formas. Guarde todos los archivos y el uso de los nombres predeterminados de Form1, Form2, Form3.

ahora Estamos listos :)

Hay algunos pasos a seguir.

  • Definir Constantes de Mensaje
  • Definir manejadores de mensajes
  • Enviar mensaje a todas las formas

Definir Constantes de Mensaje
Esto es facil, solo tiene que añadir a la declaracion, en los usos de la seccion de form1 como sigue:

const
JR_1 = WM_USER 1

WM_USER es el windows zona definida de WM valores que se pueden utilizar. A la hora de crear mensajes personalizados comenzar siempre en WM_USER X..., valores que se deben evitar son WM_USER 100, 500, 1000, etc. debido a que el componente de los escritores tienden a usar estos valores comunes para sus propios fines.

Definir manejadores de mensajes

Para hacer esto mas claro y reducir el codigo que he creado un formulario de clase que de todas formas en este ejemplo se basa en:

Añadir este codigo a los Usos de la seccion debajo de la const declaracion que acaba de agregar.

tipo
TMessageForm = class (TForm)
protegido
procedimiento JR1(var Message: TMessage) mensaje JR_1
fin

Ahora, agregue el codigo siguiente a la seccion de implementacion.

{- TMessageForm.JR1 }
procedimiento TMessageForm.JR1(var Message: TMessage)
begin
Caption := 'Mensaje Recibido'
fin

Ok, asi que ahora tenemos una clase de formulario que puede responder a nuestro mensaje personalizado. Todo lo que tenemos que hacer es cambiar todas las formas que se derivan de TMessageForm en lugar de TForm, asi:

TForm1 = class (TMessageForm)
fin

Usted tendra que añadir 'unit1' a la clausula uses en unidades de 2 & 3 como asi.

utiliza Windows, Messages, SysUtils, Classes, Graphics, Controles, Formularios, cuadros de dialogo, Unit1

Usted tambien tendra que hacer de todas las formas visibles en el arranque. hacemos esto mediante la edicion de los proyectos .el dpr archivo. Esto se puede hacer abriendo el archivo en el bloc de notas, o mediante el Administrador de Proyectos.

Para abrir el Administrador de Proyecto presione CTRL ALT F11, a continuacion, seleccione la derecha haga clic en el nombre del proyecto y seleccione 'ver codigo fuente'

Pegue el codigo siguiente:

usos
Formularios
Windows
Unit1 en ' Unit1.pas' {Form1},
Unit2 en 'Unit2.pas' {Form2},
Unit3 en 'Unit3.pas' {Form3}

{$R *.RES}

begin
Aplicacion.Inicializar
Aplicacion.CreateForm(TForm1, Form1)
Aplicacion.CreateForm(TForm2, Form2)
ShowWindow(Form2.Manejar, SW_SHOW)
Aplicacion.CreateForm(TForm3, Form3)
ShowWindow(Form3.Manejar, SW_SHOW)
Aplicacion.Ejecutar
final.

Hemos añadido Windows a la seccion uses porque tenemos que llamar a ShowWindow. ShowWindow, hace exactamente lo que dice en la lata), se muestra un formulario por el mango.

Ahora estamos listos para enviar los mensajes a todos los formularios de la aplicacion.

Enviar mensaje a todas las formas

Añadir un boton a form1 y doble clic en el.
Pega este codigo.

{- TForm1.Button1Click }
procedure TForm1.Button1Click(Sender: TObject)
var i: Integer
begin
for i:=0 en la Pantalla.FormCount -1
Pantalla.Formas[i].Realizar(JR_1,0,0)
fin

Ahora, ejecute la aplicacion y todos estan ordenados )
Si usted tiene problemas en el seguimiento de este articulo, a continuacion, puede descargar el codigo fuente completo aqui:


Enviar un mensaje personalizado a todas las formas de aplicación

Enviar un mensaje personalizado a todas las formas de aplicación : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación