demo.pas 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. unit demo;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5. StdCtrls, Buttons, ExtCtrls;
  6. type
  7. TFormDemo = class(TForm)
  8. Panel1: TPanel;
  9. ButtonText: TBitBtn;
  10. ButtonExit: TBitBtn;
  11. ButtonFile: TBitBtn;
  12. Label3: TLabel;
  13. Panel2: TPanel;
  14. Label2: TLabel;
  15. Label4: TLabel;
  16. Label5: TLabel;
  17. Label6: TLabel;
  18. Label7: TLabel;
  19. Panel3: TPanel;
  20. ButtonURL: TBitBtn;
  21. procedure ButtonTextClick(Sender: TObject);
  22. procedure ButtonFileClick(Sender: TObject);
  23. procedure ButtonExitClick(Sender: TObject);
  24. procedure Label6Click(Sender: TObject);
  25. procedure ButtonURLClick(Sender: TObject);
  26. procedure Label1Click(Sender: TObject);
  27. private
  28. { Private declarations }
  29. public
  30. { Public declarations }
  31. end;
  32. var
  33. FormDemo: TFormDemo;
  34. implementation
  35. {$R *.DFM}
  36. uses
  37. DropText,
  38. DropFile,
  39. DropURL,
  40. ShellApi;
  41. procedure TFormDemo.ButtonTextClick(Sender: TObject);
  42. begin
  43. with TFormText.Create(Self) do
  44. try
  45. ShowModal;
  46. finally
  47. Free;
  48. end;
  49. end;
  50. procedure TFormDemo.ButtonFileClick(Sender: TObject);
  51. begin
  52. with TFormFile.Create(Self) do
  53. try
  54. ShowModal;
  55. finally
  56. Free;
  57. end;
  58. end;
  59. procedure TFormDemo.ButtonURLClick(Sender: TObject);
  60. begin
  61. with TFormURL.Create(Self) do
  62. try
  63. ShowModal;
  64. finally
  65. Free;
  66. end;
  67. end;
  68. procedure TFormDemo.ButtonExitClick(Sender: TObject);
  69. begin
  70. Close;
  71. end;
  72. procedure TFormDemo.Label6Click(Sender: TObject);
  73. begin
  74. Screen.Cursor := crAppStart;
  75. try
  76. Application.ProcessMessages; {otherwise cursor change will be missed}
  77. ShellExecute(0, nil, PChar('mailto:'+TLabel(Sender).Caption), nil, nil, SW_NORMAL);
  78. finally
  79. Screen.Cursor := crDefault;
  80. end;
  81. end;
  82. procedure TFormDemo.Label1Click(Sender: TObject);
  83. begin
  84. Screen.Cursor := crAppStart;
  85. try
  86. Application.ProcessMessages; {otherwise cursor change will be missed}
  87. ShellExecute(0, nil, PChar(TLabel(Sender).Caption), nil, nil, SW_NORMAL);
  88. finally
  89. Screen.Cursor := crDefault;
  90. end;
  91. end;
  92. end.