加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

使用Delphi编写请等待屏幕的最简单方法是什么?

发布时间:2020-12-15 10:10:46 所属栏目:大数据 来源:网络整理
导读:我只想要一个快速而肮脏的非模态,不可关闭的屏幕弹出并消失2秒看起来更像是…… 1秒.使用3-5行代码. 这要问太多了吗? 解决方法 如果你想以编程方式完成所有事情(也就是说,如果你不想在Delphi表单设计器中设计你的表单),那么你可以写 type TStatusWindowHand
我只想要一个快速而肮脏的非模态,不可关闭的屏幕弹出并消失2秒看起来更像是…… 1秒.使用3-5行代码.

这要问太多了吗?

解决方法

如果你想以编程方式完成所有事情(也就是说,如果你不想在Delphi表单设计器中设计你的表单),那么你可以写
type
  TStatusWindowHandle = type HWND;

function CreateStatusWindow(const Text: string): TStatusWindowHandle;
var
  FormWidth,FormHeight: integer;
begin
  FormWidth := 400;
  FormHeight := 164;
  result := CreateWindow('STATIC',PChar(Text),WS_OVERLAPPED or WS_POPUPWINDOW or WS_THICKFRAME or SS_CENTER or SS_CENTERIMAGE,(Screen.Width - FormWidth) div 2,(Screen.Height - FormHeight) div 2,FormWidth,FormHeight,Application.MainForm.Handle,HInstance,nil);
  ShowWindow(result,SW_SHOWNORMAL);
  UpdateWindow(result);
end;

procedure RemoveStatusWindow(StatusWindow: TStatusWindowHandle);
begin
  DestroyWindow(StatusWindow);
end;

在一个新单位.然后你可以像这样调用这些函数:

procedure TForm3.Button1Click(Sender: TObject);
var
  status: TStatusWindowHandle;
begin
  status := CreateStatusWindow('Please Wait...');
  try
    Sleep(2000);
  finally
    RemoveStatusWindow(status);
  end;
end;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读