to all:人家问的是控件,不是应用。
to linux:不明白你的意思。写控件时经常要用到消息处理啊,这句 procedure Button1Click(Sender:TObject);message WM_ACTIVATE;很有问题。须知wm_activate在窗口世界中是非常频繁的。你想干什么?
procedure TForm1.ButtonWndProc(var Message: TMessage);
begin
// 这里会传入Button1的消息,你可以用Message来判断消息和处理
// 用下面的语句调用它原来的处理。
with Message do
Result := CallWindowProc(FDefWndProc, Button1.Handle, Msg, wParam, lParam);
end;