Einzelnen Beitrag anzeigen

Alaitoc

Registriert seit: 24. Okt 2008
263 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: message kommt im Fenster nicht an

  Alt 8. Jan 2010, 10:22
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

const
  SET_LNG_CMD = WM_USER+3;
  SET_LNG_CMD2 = WM_USER+4;

type
  TForm1 = class(TForm)
    procedure FormClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  protected
    procedure GetMessages(var msg: TMessage); message SET_LNG_CMD;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.GetMessages(var msg: TMessage);
begin
if Msg.Msg = SET_LNG_CMD then
begin
ShowMessage('hallo');
end;
end;

procedure TForm1.FormClick(Sender: TObject);
begin
  SendMessage( Self.Handle, SET_LNG_CMD, 0, 0 );
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   SendMessage( Self.Handle, SET_LNG_CMD2 , 0, 0 );
end;

end.
Jetzt aber...also:


1. GetMessages empfängt nur die SET_LNG_CMD, bei SET_LNG_CMD2 passiert nichts. ( Kannste ja mal umändern zum Testen )
2 Nun überprüfe ich ob Msg.Msg= SET_LNG_CMD ist und es klappt ( habe TMsg durch TMessage ausgetauscht)
3. Es funktioniert auch mit TMsg jedoch muss man dann Msg.HWND abfragen.

Edit: TMsg durch TMessage ersetzt, ist sinnvoller.

MfG Alaitoc
  Mit Zitat antworten Zitat