{"id":1918,"date":"2015-01-31T01:44:02","date_gmt":"2015-01-30T17:44:02","guid":{"rendered":"http:\/\/blog.qdac.cc\/?p=1918"},"modified":"2015-01-31T01:44:40","modified_gmt":"2015-01-30T17:44:40","slug":"fmx%e4%b8%80%e4%b8%aa%e7%ae%80%e5%8d%95%e7%9a%84%e8%bf%9b%e5%ba%a6%e5%af%b9%e8%af%9d%e6%a1%86","status":"publish","type":"post","link":"https:\/\/blog.qdac.cc\/?p=1918","title":{"rendered":"[FMX]\u4e00\u4e2a\u7b80\u5355\u7684\u8fdb\u5ea6\u5bf9\u8bdd\u6846"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>\u4e0d\u8bf4\u5565\uff0c\u770b\u6548\u679c\uff1a<\/p>\n<p><a href=\"https:\/\/blog.qdac.cc\/wp-content\/uploads\/2015\/01\/fmxprogress.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1919 size-medium\" src=\"https:\/\/blog.qdac.cc\/wp-content\/uploads\/2015\/01\/fmxprogress-169x300.jpg\" alt=\"fmxprogress\" width=\"169\" height=\"300\" srcset=\"https:\/\/blog.qdac.cc\/wp-content\/uploads\/2015\/01\/fmxprogress-169x300.jpg 169w, https:\/\/blog.qdac.cc\/wp-content\/uploads\/2015\/01\/fmxprogress.jpg 540w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/a><\/p>\n<p>\u8c03\u7528\u4ee3\u7801\uff1a<\/p>\n<pre class=\"lang:delphi decode:true \">ShowProgress('\u6b63\u5728\u51c6\u5907\u63d0\u4ea4\u6570\u636e\u2026\u2026',0);\r\nSleep(1000);\r\nShowProgress('\u6b63\u5728\u63d0\u4ea4\u7b2c\u4e00\u9636\u6bb5\u6570\u636e\u2026\u2026',20);\r\nSleep(1000);\r\nShowProgress('\u6b63\u5728\u63d0\u4ea4\u7b2c\u4e8c\u9636\u6bb5\u6570\u636e\u2026\u2026',50);\r\nSleep(1000);\r\nShowProgress('\u6b63\u5728\u786e\u8ba4\u63d0\u4ea4\u7ed3\u679c\u2026\u2026',75);\r\nSleep(1000);\r\nShowProgress('\u7ed3\u679c\u5df2\u786e\u8ba4\uff0c\u63d0\u4ea4\u6210\u529f\u3002',100);\r\nSleep(1000);\r\nHideProgress;<\/pre>\n<p>\u6e90\u7801\uff1a<\/p>\n<pre class=\"lang:delphi decode:true \">unit progress;\r\n\r\ninterface\r\n\r\nuses\r\n  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,\r\n  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls;\r\n\r\ntype\r\n  TfrmProgress = class(TForm)\r\n    Panel1: TPanel;\r\n    lblHint: TLabel;\r\n    Panel2: TPanel;\r\n    pbProgress: TProgressBar;\r\n    sbCancel: TSpeedButton;\r\n    tmDelayShow: TTimer;\r\n    procedure tmDelayShowTimer(Sender: TObject);\r\n  private\r\n    { Private declarations }\r\n  public\r\n    { Public declarations }\r\n  end;\r\n\r\nvar\r\n  frmProgress: TfrmProgress;\r\nprocedure ShowProgress(AHint:String;AProgress:Integer);\r\nprocedure HideProgress;\r\nimplementation\r\n\r\n{$R *.fmx}\r\nprocedure ShowProgress(AHint:String;AProgress:Integer);\r\nbegin\r\nif not Assigned(frmProgress) then\r\n  frmProgress:=TfrmProgress.Create(Application);\r\nfrmProgress.lblHint.Text:=AHint;\r\nfrmProgress.pbProgress.Value:=AProgress;\r\nif not frmProgress.Visible then\r\n  frmProgress.tmDelayShow.Enabled:=True;\r\nfrmProgress.Invalidate;\r\nApplication.ProcessMessages;\r\nend;\r\n\r\nprocedure HideProgress;\r\nbegin\r\nif Assigned(frmProgress) then\r\n  frmProgress.Hide;\r\nend;\r\nprocedure TfrmProgress.tmDelayShowTimer(Sender: TObject);\r\nbegin\r\ntmDelayShow.Enabled:=False;\r\nfrmProgress.Show;\r\nend;\r\n\r\nend.<\/pre>\n<p>\u7a97\u4f53\u5b9a\u4e49\uff1a<\/p>\n<pre class=\"lang:delphi decode:true  \">object frmProgress: TfrmProgress\r\n  Left = 0\r\n  Top = 0\r\n  BorderStyle = None\r\n  ClientHeight = 480\r\n  ClientWidth = 351\r\n  Fill.Color = x80000000\r\n  Fill.Kind = Solid\r\n  Position = ScreenCenter\r\n  Transparency = True\r\n  Visible = True\r\n  FormFactor.Width = 320\r\n  FormFactor.Height = 480\r\n  FormFactor.Devices = [Desktop]\r\n  DesignerMasterStyle = 3\r\n  object Panel1: TPanel\r\n    Align = Center\r\n    Size.Width = 297.000000000000000000\r\n    Size.Height = 141.000000000000000000\r\n    Size.PlatformDefault = False\r\n    TabOrder = 0\r\n    object lblHint: TLabel\r\n      Align = Client\r\n      Margins.Left = 5.000000000000000000\r\n      Margins.Top = 5.000000000000000000\r\n      Margins.Right = 5.000000000000000000\r\n      Margins.Bottom = 5.000000000000000000\r\n      Size.Width = 287.000000000000000000\r\n      Size.Height = 46.000000000000000000\r\n      Size.PlatformDefault = False\r\n      TextSettings.VertAlign = Trailing\r\n      Text = #27491#22312#25191#34892#25805#20316#65292#35831#31245#20505#8230#8230\r\n    end\r\n    object Panel2: TPanel\r\n      Align = Bottom\r\n      Padding.Top = 5.000000000000000000\r\n      Position.Y = 56.000000000000000000\r\n      Size.Width = 297.000000000000000000\r\n      Size.Height = 85.000000000000000000\r\n      Size.PlatformDefault = False\r\n      TabOrder = 1\r\n      object pbProgress: TProgressBar\r\n        Align = Top\r\n        Orientation = Horizontal\r\n        Margins.Left = 5.000000000000000000\r\n        Margins.Right = 5.000000000000000000\r\n        Position.X = 5.000000000000000000\r\n        Position.Y = 5.000000000000000000\r\n        Size.Width = 287.000000000000000000\r\n        Size.Height = 10.000000000000000000\r\n        Size.PlatformDefault = False\r\n      end\r\n      object sbCancel: TSpeedButton\r\n        Align = Center\r\n        ModalResult = 2\r\n        Size.Width = 48.000000000000000000\r\n        Size.Height = 48.000000000000000000\r\n        Size.PlatformDefault = False\r\n        StyleLookup = 'stoptoolbutton'\r\n        Text = #21462#28040\r\n      end\r\n    end\r\n  end\r\n  object tmDelayShow: TTimer\r\n    Enabled = False\r\n    Interval = 500\r\n    OnTimer = tmDelayShowTimer\r\n    Left = 184\r\n    Top = 88\r\n  end\r\nend<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; \u4e0d\u8bf4\u5565\uff0c\u770b\u6548\u679c\uff1a \u8c03\u7528\u4ee3\u7801 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[145,8,21],"tags":[149,313,312],"class_list":["post-1918","post","type-post","status-publish","format-standard","hentry","category-android","category-delphi","category-misc","tag-fmx","tag-313","tag-312"],"views":5848,"_links":{"self":[{"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/posts\/1918","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1918"}],"version-history":[{"count":1,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/posts\/1918\/revisions"}],"predecessor-version":[{"id":1920,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/posts\/1918\/revisions\/1920"}],"wp:attachment":[{"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1918"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1918"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1918"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}