我来回答你的第2个问题.
将那条语句换成
Application.Minimize;
试试看..
好用的..要给分呀.呵呵

解决方案 »

  1.   

    建议看看Speedbutton的源码.
      

  2.   

    unit Unit2;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      jpeg, ExtCtrls, StdCtrls, Buttons;type
      TForm1 = class(TForm)
        Image1: TImage;
        SpeedButton1: TSpeedButton;
     procedure FormCreate(Sender: TObject);
        procedure SpeedButton1Click(Sender: TObject);
        procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
          Y: Integer);
        procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      canmove:boolean;
      formx,formx1,formy,formy1,mousex,mousey:integer;
    implementation{$R *.DFM}
    procedure TForm1.FormCreate(Sender: TObject);
     var p,q : Hrgn;
    begin
       p := CreateEllipticRgn(0, 0, 250, 250);
    //   q := CreateRoundRectRgn(40,120,160,400,20,20);
    //   combinergn(p,q,p,Rgn_or);
       setwindowrgn(form1.handle,p,true);
       form1.refresh;
    end;procedure TForm1.SpeedButton1Click(Sender: TObject);
    begin
     close;
    end;
    procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
        if Button=mbLeft then
    begin
      formx:=form1.left;
      formy:=form1.top;
      mousex:=x;
      mousey:=y;
      canmove:=true;
    end;end;procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
      if canmove then
        begin
          formx1 := formx-mousex+x;
          formy1 := formy-mousey+y;
        end;
    end;procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
       form1.left:=formx1;
       form1.top:=formy1;
       canmove:=false;
    end;end.