
A mellékelt példaprogram megnyitása előtt a PanelImage.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
A PanelImage komponenst csak el kell helyeznünk a Form-on, Picture property-jében megadhatunk egy képet.
A komponenst Panel property-jén keresztül rendelhetjük hozzá egy TPanel típusú objektumhoz.
A komponens a háttérben létrehoz egy TImage objektumot a panelen, melynek mérete teljesen lefedi a panel méretét. A megjelenő kép nyújtott formában kerül megjelenítésre, a panel széleihez igazodva
A panelt célszerű azután hozzárendelni a komponenshez, miután a panel már a helyén van.
Komponensünket a TComponent osztályból származtatjuk.
A megadott képet a Picture property-ben tároljuk el, amely TPicture típusú. A property értékét tároló TPicture objektum létrehozásáról és megszüntetéséről nekünk kell gondoskodnunk a komponens Create és Destroy metódusaiban.
Ha a komponenshez hozzárendelünk egy panelt, akkor a Setpanel metódusban létrehozunk egy TImage objektumot, amelyet elhelyezünk a panelen úgy, hogy a SendToBack metódus meghívásával a panelen található, eddigi objektumok mögé küldjük.
procedure TPanelImage.Setpanel(const Value: TPanel);
...
if FPanel<>Nil then begin
FImage:=TImage.Create(Nil);
with FImage do begin
Parent:=Value;
Ahhoz hogy a TImage-ben megjelenő kép nyújtott legyen, a Stretch property értékét igazra kell állítanunk.
Ha a komponensünkhöz rendelt panel eltávolításra kerül, akkor a Delphi hibaüzenetet ad. Ennek elkerülése érdekében le kell kezelnünk ezt a problémát. A megoldás kulcsa, hogy felülírjuk a Notification metódust.
procedure TPanelImage.Notification(AComponent: TComponent;
Operation: TOperation);
begin
inherited;
if (AComponent=FPanel) and (Operation=opRemove) then
FPanel:=Nil;
end;