Saturday, November 24, 2007

Začněme tedy pěkně od začátku. Možná víte, že tyto speciální aplikace nejsou spustitelné exe soubory, mají koncovku cpl a jedná se v podstatě od knihovny podobě jako dll. Tyto aplety se vytvářejí v Delphi poměrně snadno, i když je postup mírně odlišný od tvorby běžné aplikace. Začneme tím, že založíme nový projekt. Z menu File vybereme klasicky položku New a v zobrazeném dialogu najdeme a vybereme typ Control Panel Application. Hned si můžete všimnout, že nově vytvořené soubory se drobně liší od těch klasických aplikačních. První rozdíl je v tom, že v projektovém souboru nenajdeme klasický termín Program, ale místo toho se zde nalézá označení library. Vytvořená jednotka a její hlavní objekt pak není třídy TForm, ale TAppletModule. Proto se vám také neobjevilo obvyklé okno formuláře, na které lze umisťovat další komponenty, ale místo toho vidíte jiný typ formuláře, který je však nevizuální (tj. po spuštění apletu nebude vidět) a jeho úkolem je "pouze" zprostředkování událostí. Proto je nutné vytvořit ještě běžný typ formuláře typu TForm, který přidáme do projektu a bude vlastně tvořit samotné uživatelské rozhraní apletu. Vytvořte tedy takový formulář a odkaz na jeho jednotku musíte přidat do řádku uses u jednotky apletu. Celý kód pak tedy vypadá kupříkladu takto:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
CtlPanel, unit2;

type
TAppletModule1 = class(TAppletModule)
procedure AppletModuleActivate(Sender: TObject; Data: Integer);
private
{ private declarations }
protected
{ protected declarations }
public
{ public declarations }
end;

var
AppletModule1: TAppletModule1;

implementation

{$R *.DFM}

end.

Nyní je potřeba zajistit, aby se po spuštění apletu tento nově přidaný formulář zobrazil. K tomu použijeme událost OnActivate modulu apletu:

procedure TAppletModule1.AppletModuleActivate(Sender: TObject; Data: Integer);
begin
Form2 := TForm2.Create( self );
Form2.ShowModal;
Form2.Free;
end;

Labels: