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 版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
