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