delphi 窗体最大化 最小化

Posted westsoft

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 窗体最大化 最小化相关的知识,希望对你有一定的参考价值。

procedure TForm1.SpeedButton2Click(Sender: TObject);

begin
sendmessage(form1.WindowHandle,WM_SYSCOMMAND,SC_ICON,0);//窗体最小化  任务栏中
end;

 

procedure TForm1.SpeedButton2Click(Sender: TObject);

begin
form1.WindowState :=  wsMaximized;//窗体最大化
end;

 

procedure TForm1.SpeedButton2Click(Sender: TObject);

begin
form1.WindowState :=  wsminimized;//窗体最小化到 任务栏上方

end;

 

procedure TForm1.SpeedButton2Click(Sender: TObject);

begin
form1.WindowState :=  wsnormal;//窗体正常化
end;
--------------------- 
作者:ozhy111 
来源:CSDN 
原文:https://blog.csdn.net/ozhy111/article/details/86062553 
版权声明:本文为博主原创文章,转载请附上博文链接!

自定义

Uses ShellAPI;

 1//最小化
procedure TForm1.btn1Click(Sender: TObject);
var
  I, J, X, Y: Word;
begin
  //第一种:最小化在屏幕的左下角 ,不是常见的最小化
 // WindowState :=   wsMinimized;
  //第儿种:最小化在任务栏里面 ,是常见的最小化
  postmessage(Self.Handle,WM_SYSCOMMAND,SC_MINIMIZE,0);
end;

2//最大化/正常的按钮
procedure TForm1.btn2Click(Sender: TObject);
var
  abd: TAppBarData;
begin
  if WindowState = wsMaximized then
    WindowState := wsNormal
  else
  begin
    WindowState := wsMaximized;  // BorderStyle为 bsNone
    abd.cbSize := sizeof(abd);
    SHAppBarMessage(ABM_GETTASKBARPOS, abd); //读取任务的区域
    Self.Height := Self.Height - (abd.rc.Bottom - abd.rc.Top);  //预留出任务的位置
  end;
end;

3//关闭
procedure TForm1.btn3Click(Sender: TObject);
begin
  Close;
end;

 

4//窗体的移动

procedure TForm1.lbl1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button=Mbleft then
  begin
    ReleaseCapture;
    Perform(WM_NCLBUTTONDOWN,HTCAPTION,0);//消息处理
  end;
end;

 

5//查找应用程序中已经创建的窗体

function FindForm(FormName: string): TForm;
var
  i:Integer;
begin
  Result := nil;
  for i:=0 to Application.ComponentCount-1 do
  begin
    if Application.Components[i].Name = FormName then
    begin
      Result := TForm(Application.Components[i]);
      Break;      
    end;
  end;
end;
--------------------- 
作者:爱在丽江leslex 
来源:CSDN 
原文:https://blog.csdn.net/xiongmao000738/article/details/6790153 
版权声明:本文为博主原创文章,转载请附上博文链接!

 

以上是关于delphi 窗体最大化 最小化的主要内容,如果未能解决你的问题,请参考以下文章

delphi Form属性设置 设置可实现窗体无最大化,并且不能拖大拖小

delphi设计浮动窗口

delphi窗体按钮灰化禁用

怎样使delphi里的控件随窗体的大小变化而变化

delphi Form属性设置 设置可实现窗体无最大化,并且不能拖大拖小(写一个WM_EXITSIZEMOVE的空函数)

sendmessage最大化窗口后,该窗口最小化按钮失灵 delphi