Perform 浮动工具栏 无标题窗口的移动

//浮动工具栏 
{
窗体是否要隐藏,重要的是要判断是否在操作中,
通过窗体的Active属性,可以确定窗体是否具有焦点。
在窗体有焦点时,该窗体正在被操作,
这时需要完全显示在屏幕当中;
如果窗体没有焦点,通过设置窗体到屏幕的高度来确定窗体的隐藏部分。
在TTimer组件的OnTimer事件中,窗体没有焦点时,隐藏工具栏

.在窗体上添加
TTimer组件
和TImage组件
设置窗体Form1的属性


}

{以图片的形状作为窗体形态}
procedure TForm1.FormCreate(Sender: TObject);
begin
    Self.BorderStyle :=bsNone; //无边框
    self.TransparentColor :=True;
    self.TransparentColorValue := 20;
    self.Color := 20; //form.color :=form1.TransparentColorValue;
end;

//此句会影响单击效果
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
       if Button =mbLeft then
       begin
        ReleaseCapture;
        Perform(wm_syscommand,$F012, 0);
       end;
end;

procedure TForm1.Timer1Timer(Sender: TObject); //interval:=200
begin
   if self.Active =False then self.Top := - 30;
end;

procedure TForm1.Image1Click(Sender: TObject);
begin
  self.Top := 30;
end;

//完成 
1 在屏幕的任意位置出现和隐藏的窗体
2 电子日历




你可能感兴趣的:(form)