- Код: Выделить всё
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
const
mymess = WM_DISPLAYCHANGE;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
procedure mymessevent(var msg:TMessage); message mymess;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
procedure TForm1.mymessevent(var msg:TMessage);
begin
showmessage('Сообщение получено');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
sendmessage (handle, mymess,0,0);
end;
end.
Компилирую в Lazarus 1.0.8 FPC 2.6.2 под WinXP SP3 (как впрочем и на другом компе в Lazarus 1.0.6 FPC 2.6.0) - сообщение не доходит.
тот же самый код, скомпилированный в Delphi XE работает на ура (и при нажатии на баттон, и при изменении разрешения экрана).
Пробовал вместо WM_DISPLAYCHANGE указать другие сообщения, так например WM_MOUSEMOVE работает, а WM_MOUSELEAVE нет.
В Lazarus я новичок, подскажите плиз куда копать, мож настройки проекта какие надо выставить или еще чего...