Eine benutzerdefinierte Nachricht an alle Formen in Anwendung


Kurzanleitung zum jeglicher Art in einer Anwendung eine benutzerdefinierte Windows-Nachricht senden

Das klingt wie es, eine ziemlich einfache Aufgabe sein sollte. Leider fehlt die Delphi-Dokumentation zu diesem Thema.
In diesem Lernprogramm starten erstellen Sie ein neues Projekt in Delphi und 2 neue Formen hinzufügen. Speichern Sie alle Dateien, und verwenden Sie die Standardnamen Form1, Form2, Form3.

Wir können jetzt :)

Es gibt ein paar einfache Schritte befolgen.

  • Nachricht Konstanten definieren
  • Message Handler definieren
  • Nachricht an alle Formen

Nachricht Konstanten definieren
Dies ist einfach, fügen Sie einfach die Erklärung im Abschnitt 'Verwendung' von form1 wie folgt:

const
JR_1 = WM_USER + 1;

WM_USER ist, dass der Windows Bereich der WM Werte definiert, die Sie verwenden dürfen. Beim Erstellen von benutzerdefinierte Meldungen immer bei WM_USER + x starten... sind Werte, zu vermeiden WM_USER + 100, 500, 1000, usw. da Komponente Autoren neigen dazu, diese gemeinsamen Werte für eigene Zwecke zu verwenden.

Message Handler definieren

Um dies deutlicher zu machen und reduzieren ich eine Form-Klasse, der alle Formen in diesem Beispiel basiert erstellt haben auf der Code:

Fügen Sie diesen Code zum Abschnitt verwendet unterhalb der const-Deklaration nur hinzugefügt.

Typ
TMessageForm = Class (TForm)
geschützt
Verfahren JR1 (Var Message: TMessage); Nachricht JR_1;
Ende;

Nun fügen Sie den folgenden Code in den Abschnitt 'Implementierung'.

{-TMessageForm.JR1}
Procedure TMessageForm.JR1 (Var Message: TMessage);
beginnen
Caption: = 'Nachricht empfangen';
Ende;

OK, also wir haben jetzt eine Form-Klasse, die auf unsere benutzerdefinierte Nachricht reagieren können. Alles was wir dazu brauchen ist ändern alle Formen von TMessageForm anstelle von TForm, abgeleitet, wie folgt:

TForm1 = Class (TMessageForm)
Ende;

Sie müssen hinzufügen 'unit1' Ihre Uses-Clausel in Einheiten 2 & 3 dergleichen also.

verwendet Windows, Nachrichten, SysUtils, Klassen, Graphics, Steuerelemente, Formulare, Dialoge, Unit1;

Sie müssen auch alle machen, die die Formen sichtbar zu starten. Wir tun dies, indem Sie die Projekte .dpr Datei bearbeiten. Dies kann durch die Öffnung in die Datei in Editor oder mit dem Projekt-Manager erfolgen.

Projekt-Manager öffnen STRG + ALT + F11 drücken und wählen Sie den Projektnamen einen Rechtsklick und wählen Sie 'Quellcode anzeigen'

Fügen Sie den folgenden Code:

verwendet
Formen,
Windows,
UNIT1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3};

{$R *. RES}

beginnen
Application.Initialize;
Application.CreateForm (TForm1, Form1);
Application.CreateForm (TForm2, Form2);
ShowWindow (Form2.Handle, SW_SHOW);
Application.CreateForm (TForm3, Form3);
ShowWindow (Form3.Handle, SW_SHOW);
Application.Run;
Ende.

Wir hinzugefügt Windows zum Abschnitt verwendet, da wir ShowWindow aufrufen müssen. ShowWindow, tut genau was es auf dem Zinn sagt, dass es eine Form von seinem Handgriff zeigt ;).

Jetzt sind wir bereit zum Senden der Nachrichten an alle Formulare in der Anwendung.

Nachricht an alle Formen

Fügen Sie eine Schaltfläche zu form1 hinzu, und DZ klicken Sie darauf.
Fügen Sie diesen Code.

{-TForm1.Button1Click}
Prozedur TForm1.Button1Click(Sender: TObject);
Var i: Integer;
beginnen
für i: = 0 to Screen.FormCount-1 tun
Screen.Forms[i]. Perform(JR_1,0,0);
Ende;

Nun führen Sie die Anwendung und Ihr alle ;) sortiert
Wenn Sie Probleme, die nach diesem Artikel haben, so können Sie den vollständigen Quellcode hier herunterladen:









Eine benutzerdefinierte Nachricht an alle Formen in Anwendung


Eine benutzerdefinierte Nachricht an alle Formen in Anwendung : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


Kurzanleitung zum jeglicher Art in einer Anwendung eine benutzerdefinierte Windows-Nachricht senden

Das klingt wie es, eine ziemlich einfache Aufgabe sein sollte. Leider fehlt die Delphi-Dokumentation zu diesem Thema.
In diesem Lernprogramm starten erstellen Sie ein neues Projekt in Delphi und 2 neue Formen hinzufügen. Speichern Sie alle Dateien, und verwenden Sie die Standardnamen Form1, Form2, Form3.

Wir können jetzt :)

Es gibt ein paar einfache Schritte befolgen.

  • Nachricht Konstanten definieren
  • Message Handler definieren
  • Nachricht an alle Formen

Nachricht Konstanten definieren
Dies ist einfach, fügen Sie einfach die Erklärung im Abschnitt 'Verwendung' von form1 wie folgt:

const
JR_1 = WM_USER + 1;

WM_USER ist, dass der Windows Bereich der WM Werte definiert, die Sie verwenden dürfen. Beim Erstellen von benutzerdefinierte Meldungen immer bei WM_USER + x starten... sind Werte, zu vermeiden WM_USER + 100, 500, 1000, usw. da Komponente Autoren neigen dazu, diese gemeinsamen Werte für eigene Zwecke zu verwenden.

Message Handler definieren

Um dies deutlicher zu machen und reduzieren ich eine Form-Klasse, der alle Formen in diesem Beispiel basiert erstellt haben auf der Code:

Fügen Sie diesen Code zum Abschnitt verwendet unterhalb der const-Deklaration nur hinzugefügt.

Typ
TMessageForm = Class (TForm)
geschützt
Verfahren JR1 (Var Message: TMessage); Nachricht JR_1;
Ende;

Nun fügen Sie den folgenden Code in den Abschnitt 'Implementierung'.

{-TMessageForm.JR1}
Procedure TMessageForm.JR1 (Var Message: TMessage);
beginnen
Caption: = 'Nachricht empfangen';
Ende;

OK, also wir haben jetzt eine Form-Klasse, die auf unsere benutzerdefinierte Nachricht reagieren können. Alles was wir dazu brauchen ist ändern alle Formen von TMessageForm anstelle von TForm, abgeleitet, wie folgt:

TForm1 = Class (TMessageForm)
Ende;

Sie müssen hinzufügen 'unit1' Ihre Uses-Clausel in Einheiten 2 & 3 dergleichen also.

verwendet Windows, Nachrichten, SysUtils, Klassen, Graphics, Steuerelemente, Formulare, Dialoge, Unit1;

Sie müssen auch alle machen, die die Formen sichtbar zu starten. Wir tun dies, indem Sie die Projekte .dpr Datei bearbeiten. Dies kann durch die Öffnung in die Datei in Editor oder mit dem Projekt-Manager erfolgen.

Projekt-Manager öffnen STRG + ALT + F11 drücken und wählen Sie den Projektnamen einen Rechtsklick und wählen Sie 'Quellcode anzeigen'

Fügen Sie den folgenden Code:

verwendet
Formen,
Windows,
UNIT1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3};

{$R *. RES}

beginnen
Application.Initialize;
Application.CreateForm (TForm1, Form1);
Application.CreateForm (TForm2, Form2);
ShowWindow (Form2.Handle, SW_SHOW);
Application.CreateForm (TForm3, Form3);
ShowWindow (Form3.Handle, SW_SHOW);
Application.Run;
Ende.

Wir hinzugefügt Windows zum Abschnitt verwendet, da wir ShowWindow aufrufen müssen. ShowWindow, tut genau was es auf dem Zinn sagt, dass es eine Form von seinem Handgriff zeigt ;).

Jetzt sind wir bereit zum Senden der Nachrichten an alle Formulare in der Anwendung.

Nachricht an alle Formen

Fügen Sie eine Schaltfläche zu form1 hinzu, und DZ klicken Sie darauf.
Fügen Sie diesen Code.

{-TForm1.Button1Click}
Prozedur TForm1.Button1Click(Sender: TObject);
Var i: Integer;
beginnen
für i: = 0 to Screen.FormCount-1 tun
Screen.Forms[i]. Perform(JR_1,0,0);
Ende;

Nun führen Sie die Anwendung und Ihr alle ;) sortiert
Wenn Sie Probleme, die nach diesem Artikel haben, so können Sie den vollständigen Quellcode hier herunterladen:


Eine benutzerdefinierte Nachricht an alle Formen in Anwendung

Eine benutzerdefinierte Nachricht an alle Formen in Anwendung : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Eine benutzerdefinierte Nachricht an alle Formen in Anwendung
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung