AboutForm.pas 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. unit AboutForm;
  2. interface
  3. uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
  4. Buttons, ExtCtrls, ComCtrls, OleCtrls, SHDocVw;
  5. const
  6. SPECIAL_THANKS_PAGE = 'Docs\SpecialThanks.htm';
  7. LICENSE_PAGE = 'Docs\License.htm';
  8. {$I IdVers.inc}
  9. type
  10. TfrmAbout = class(TForm)
  11. Image1: TImage;
  12. OKButton: TButton;
  13. pcAbout: TPageControl;
  14. tsGeneral: TTabSheet;
  15. tsSpecialThanks: TTabSheet;
  16. Panel1: TPanel;
  17. ProductName: TLabel;
  18. Version: TLabel;
  19. Copyright: TLabel;
  20. Comments: TLabel;
  21. reComments: TRichEdit;
  22. Panel2: TPanel;
  23. tsLicense: TTabSheet;
  24. wbSpecialThanks: TWebBrowser;
  25. Panel3: TPanel;
  26. wbLicense: TWebBrowser;
  27. tsIndyAbout: TTabSheet;
  28. Panel4: TPanel;
  29. lblIndyName: TLabel;
  30. lblIndyVer: TLabel;
  31. lblIndyCopyright: TLabel;
  32. TabSheet1: TTabSheet;
  33. Panel5: TPanel;
  34. wbHelp: TWebBrowser;
  35. procedure Image1Click(Sender: TObject);
  36. procedure FormResize(Sender: TObject);
  37. procedure FormCreate(Sender: TObject);
  38. procedure FormShow(Sender: TObject);
  39. private
  40. { Private declarations }
  41. public
  42. { Public declarations }
  43. end;
  44. var
  45. frmAbout: TfrmAbout;
  46. implementation
  47. uses
  48. MainForm,
  49. ShellAPI;
  50. {$R *.dfm}
  51. procedure TfrmAbout.Image1Click(Sender: TObject);
  52. begin
  53. ShellExecute(Handle, 'OPEN', 'http://www.projectindy.org/', '', '', SW_SHOWNORMAL);
  54. end;
  55. procedure TfrmAbout.FormResize(Sender: TObject);
  56. begin
  57. OKButton.Left := (Width div 2) - (OkButton.Width div 2);
  58. end;
  59. procedure TfrmAbout.FormCreate(Sender: TObject);
  60. var
  61. AppPath : String;
  62. begin
  63. reComments.Lines.Text := 'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS'+
  64. ' OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF '+
  65. 'MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. '+
  66. 'IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY '+
  67. 'CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, '+
  68. 'TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE '+
  69. 'SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.';
  70. AppPath := ExtractFilePath(ParamStr(0));
  71. wbSpecialThanks.Navigate(AppPath + SPECIAL_THANKS_PAGE);
  72. wbLicense.Navigate(AppPath + LICENSE_PAGE);
  73. wbHelp.Navigate(frmMain.HelpFile);
  74. lblIndyVer.Caption := gsIdProductName+' Version: '+gsIdVersion;
  75. lblIndyName.Caption:= 'Components Name: '+gsIdProductName;
  76. end;
  77. procedure TfrmAbout.FormShow(Sender: TObject);
  78. begin
  79. pcAbout.ActivePageIndex := 0;
  80. end;
  81. end.