Delphi中用API實(shí)現(xiàn)在MSN的信息提示

字號(hào):

我是比較喜歡用MSN的,因?yàn)樗男畔⑻崾颈容^獨(dú)特,所有的聊天軟件都是彈出一個(gè)常規(guī)的Windows對(duì)話框,而它卻好像是從任務(wù)欄里冒出來(lái)的。想想了,在Delphi這樣的純OOP工具里加一個(gè)API應(yīng)該不難實(shí)現(xiàn),花了十來(lái)分鐘終于搞出來(lái)了,以下是實(shí)現(xiàn)方法:
    1、建立一個(gè)APPLICATION,將兩個(gè)按鈕放置到主窗體FROM1中,分別為button1和button2。
    button1.caption:=′打開(kāi)窗口′;
    button2.caption:=′關(guān)閉窗口′;
    2、在file菜單項(xiàng)中的new中添加窗體form2,并且在project中的options里,將form2設(shè)置為Available froms。
    3、以下是FORM2窗體內(nèi)的控件及屬性設(shè)置
    form2.borderstyle:=bsNone;
    添加panel1
    panel1.align:=alclient;
    panel1.bevellnner:=bvLowered;
    可以在panel1內(nèi)添加你想要的文字。
    OK,打開(kāi)FORM2的代碼窗口,代碼如下:
    unit Unit2;
    interface
    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, ExtCtrls, jpeg, StdCtrls;
    type
    TForm2 = class(TForm)
    Panel1: TPanel;
    Image1: TImage;
    Label1: TLabel;
    procedure Label1Click(Sender: TObject);
    procedure Image1Click(Sender: TObject);
    private
    { Private declarations }
    public
    procedure Show;
    procedure close;
    { Public declarations }
    end;
    var
    Form2: TForm2;
    implementation
    procedure tform2.close;
    begin
    if AnimateWindow(Handle,200,AW_VER_POSITIVE+AW_HIDE)=false then
    begin
    showmessage(′窗體退出出錯(cuò)′);
    free;
    end;
    inherited close;
    end;
    procedure tform2.Show;
    begin
    top:=430;
    left:=560;
    if AnimateWindow(Handle,200,AW_VER_NEGATIVE)=false then
    begin
    showmessage(′窗體顯示出錯(cuò)′);
    free;
    end;
    inherited show;
    end;
    {$R *.dfm}