procedure TForm1.FormActivate(Sender: TObject);
begin
//  application.Icon :=
end;procedure TForm1.FormDeactivate(Sender: TObject);
begin
//  application.Icon :=
end;

解决方案 »

  1.   

    procedure TMain.WndProc(var Msg:TMessage);
    begin
    inherited WndProc(Msg);
    if Msg.Msg=WM_ACTIVATE then
      begin
      case Msg.WParamLo of
        WA_ACTIVE,WA_CLICKACTIVE:
          begin
            Image.picture.assign(a);
          end;
        WA_INACTIVE:
          begin
            Image.picture.assign(b);
          end;
        end;
      end;
    end;
      

  2.   

    最后还是自己解决了
    TO luoweicaisd(笑三少):你的方法不行,焦点失去时不会设置图片
    TO ehom(?!) :这样做好像与luoweicaisd(笑三少)差不多,但没试过。我的做法:
    procedure TFMain.FormCreate(Sender: TObject);
    begin
    Application.OnDeactivate := FormDeactivate;   Application.OnActivate := Formactivate;       
    end;procedure TFMain.FormActivate(Sender: TObject);
    begin
      Active.Picture.LoadFromFile(MyPath+'ActiveA.bmp');
    end;procedure TFMain.FormDeactivate(Sender: TObject);
    begin
      Active.Picture.LoadFromFile(MyPath+'ActiveB.bmp');
    end;