FormAbout.pas 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. unit FormAbout;
  2. interface
  3. uses
  4. {$IFDEF MACOS}
  5. Macapi.AppKit, Macapi.Foundation, Macapi.Helpers,
  6. {$ELSE}
  7. Winapi.ShellAPI, Winapi.Windows,
  8. {$ENDIF}
  9. System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  10. FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
  11. FMX.Controls.Presentation, FMX.StdCtrls, FMX.Effects, FMX.Objects;
  12. type
  13. TfmAbout = class(TForm)
  14. Panel1: TPanel;
  15. btnOK: TButton;
  16. ShadowEffect1: TShadowEffect;
  17. imgLogo: TImage;
  18. Label1: TLabel;
  19. lblVersion: TLabel;
  20. txtUrl: TText;
  21. procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;
  22. Shift: TShiftState; X, Y: Single);
  23. procedure FormDeactivate(Sender: TObject);
  24. procedure FormClose(Sender: TObject; var Action: TCloseAction);
  25. procedure btnOKClick(Sender: TObject);
  26. procedure FormCreate(Sender: TObject);
  27. procedure txtUrlClick(Sender: TObject);
  28. private
  29. { Private declarations }
  30. public
  31. { Public declarations }
  32. end;
  33. var
  34. fmAbout: TfmAbout;
  35. implementation
  36. {$R *.fmx}
  37. uses pub, FormMain;
  38. procedure TfmAbout.btnOKClick(Sender: TObject);
  39. begin
  40. Close;
  41. end;
  42. procedure TfmAbout.FormClose(Sender: TObject; var Action: TCloseAction);
  43. begin
  44. Action := TCloseAction.caFree;
  45. end;
  46. procedure TfmAbout.FormCreate(Sender: TObject);
  47. begin
  48. StyleBook := g_pub.StyleBook;
  49. lblVersion.Text := 'Version: ' + app_version;
  50. end;
  51. procedure TfmAbout.FormDeactivate(Sender: TObject);
  52. begin
  53. Close;
  54. end;
  55. procedure TfmAbout.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
  56. Shift: TShiftState; X, Y: Single);
  57. begin
  58. StartWindowDrag;
  59. end;
  60. procedure TfmAbout.txtUrlClick(Sender: TObject);
  61. {$IFDEF MACOS}
  62. {$ENDIF}
  63. begin
  64. {$IFDEF MACOS}
  65. var
  66. NSWorkspace: NSWorkspace;
  67. var
  68. NSURL: NSURL;
  69. begin
  70. NSWorkspace := TNSWorkspace.Wrap(TNSWorkspace.OCClass.sharedWorkspace);
  71. NSURL := TNSURL.Wrap(TNSURL.OCClass.URLWithString(StrToNSStr(txtUrl.Text)));
  72. NSWorkspace.openURL(NSURL);
  73. end;
  74. {$ELSE}
  75. ShellExecute(0, 'open', PChar(txtUrl.Text), nil, nil, SW_SHOWNORMAL);
  76. {$ENDIF}
  77. end;
  78. end.