Az IntraWeb-es Form-ok használata egy picit eltér az eddig megszokottól. Használatukkal kapcsolatban három szabály van.
Mivel a Form tartalmát egy Internet böngésző program jeleníti meg, egyszerre csak egy ablak lehet látható.
Nincsenek megkülönböztetve a modális és nem modális Form-ok. Az alapkoncepció az, hogy egyszerre csak egy Form látható, ezért tulajdonképpen minden Form modális.
A Form-ok szülője a WebApplication kell hogy legyen.
Készítsünk egy két Form-ból álló alkalmazást. Az első Form legyen egy bejelentkező ablak, amelyben meg kell adni egy nevet a bejelentkezéshez. Ha megadtunk egy nevet, akkor jelenjen meg egy új Form, ami kiírja az előző Form-ban megadott nevet. A második Form-on elhelyezünk egy külső és egy belső linket is.
Ez előző részben leírt módon, hozzunk létre egy új IntraWeb Stand Alone Application-t.
A View Unit ikon segítségével válasszuk ki az IWUnit1-et. Jelenítsük meg a hozzá tartozó Form-ot, majd kattintsunk rá. Nézzük meg, hogy egy IntraWeb-es Form milyen tulajdonságokkal rendelkezik. Itt csak azokat a tulajdonságokat vizsgáljuk, amelyek nem léteznek egy hagyományos Form esetében.
| Tulajdonság |
Funkció |
| Background |
A tulajdonságon keresztül megadhatjuk az oldal hátterét. A háttér egy állományból vagy egy URL címről származhat. Ha a Fixed értéke igaz, akkor a háttér nem görgetődik a weboldal tartalmával együtt. |
| BackGroundColor |
Az oldal hátterének színe. |
| ExtraHeader |
Itt megadhatunk egy szöveget, amely a HTML kód <HEAD> részébe kerül. |
| JavaScript |
Java Script-ek megadását teszi lehetővé. |
| LinkColor |
A weboldalon megjelenő linkek színei. |
| StyleSheet |
Stíluslapok használatát teszi lehetővé. Stíluslapot URL címről és állományból is megadhatunk. |
| SupportedBrowsers |
Logikai változók segítségével beállíthatjuk, hogy az oldal mely Internet böngészőket támogassa. |
| TemplateProcessor |
Az IW Control paletta tartalmaz néhány komponenst, amely segítségével a Form-on elhelyezkedő objektum megjelenítését befolyásolhatjuk. Ezeket a komponenseket, ezen tulajdonságon keresztül rendelhetjük hozzá a Form-hoz. |
| Title |
Az a cím, amely az Internet böngészőben megjelenik. |
| VLinkColor |
A már meglátogatott linkek színe. |
Az IW Standard palettáról helyezzünk el a Form-on egy IWLabel, IWEdit, valamint egy IWButton komponenst. Az IWLabel1 Caption értékébe írjuk be a következőt: „Felhasználónév:”. Az IWEdit1 Text mezőjének tartalmát töröljük ki. A nyomógomb feliratát állítsuk „Bejelentkezés”-re.
A Bejelentkezés feliratú gomb alatt helyezzünk el egy képet is. Ehhez az IW Standard palettáról válasszuk az IWImage komponenst. A sima Image komponenshez hasonlóan, itt is a Picture property-n keresztül kell megadni a megjelenítendő képet. Bármilyen képet adunk meg, az a From-ra JPG formátummá konvertálva kerül. Az így létrejött kép JPG tulajdonságait a JPegOptions tulajdonságon keresztül módosíthatjuk.
A Form háttérszínét állítsuk át, hogy ne fehér legyen.
Amikor futtatjuk az alkalmazást, a Form objektumai a böngészőprogram által megjelenített weblap baloldalára kerülnek. Ezt az elhelyezést az IW Controls paletta néhány komponensével módosíthatjuk.
Helyezzünk el a Form-on egy IWLayoutMgrHTML komponenst az IW Controls palettáról. A Form TemplateProcessor tulajdonságában adjuk meg a IWLayoutMgrHTML1 objektumot.
Kattintsunk duplán az IWLayoutMgrHTML1 objektumon. Ekkor megjelenik egy szerkesztő program, amellyel a megjelenő weboldal kinézetét állíthatjuk be. Egyenként kattintsunk rá az objektumokra, és a Microsoft Word-ből ismert középre igazítás gomb segítségével igazítsuk őket a lap közepére. Lehetőségünk van arra is, hogy a HTML kódot módosítsuk, ezt a Source fülön tehetjük meg. Ha végeztünk zárjuk be az ablakot.
Mentsük el munkánkat, majd futtassuk az alkalmazást. Nézzük meg az IWLayoutMgrHTML1 hatását.
Most készítsük el alkalmazásunk második Form-ját. Az IntraWeb-es Form-ok nem azonosak a hagyományos Form-okkal. Kattintsunk a File – New – Other menüpontra. Az IntraWeb fülről válasszuk az Application Form-ot.
Az új Form nevét állítsuk át MenuForm-ra. Itt is állítsuk be a háttérszínt, valamint a VLinkColor értékét.
Az IW Standard palettáról helyezzünk el a Form-on egy IWRectangle komponenst. Ennek Color tulajdonságát állítsuk olyanra, amely eltér a háttérszíntől. Méretezzük akkorára, hogy az előző ablakban megadott felhasználónevet meg tudjuk jeleníteni benne. A felhasználó nevének megjelenítéséhez helyezzünk el a Form-on két IWLabel komponenst. Az IWLabel1 Caption tulajdonságába írjuk a következőt: „Felhasználó:”. Az IWLabel2 nevét módosítsuk lUser-re.
Az IW Standard palettáról helyezzünk egy IWURL és egy IWLink komponenst a Form-ra.
Az IWURL komponens URL tulajdonságában megadhatunk egy szabályos URL címet. Ha futási időben rákattintunk erre az objektumra, akkor a böngésző a megadott cím tartalmát tölti be. Itt helyezzük el egy tetszőleges oldal címét.
Az IWLink1 objektum segítségével megvalósítjuk a visszalépést az előző ablakba. A Caption mezőben adhatjuk meg azt a szöveget, amelyet meg kell jelenítenie. OnClick eseményében kell megadnunk azt a kódot, amelyet le szeretnénk futtatni akkor, amikor a felhasználó rákattint. Az OnClick-ben helyezzük el az alábbi kódot:
Ellentétben a hagyományos Form-okkal, itt nincs Close metódus, helyette a Release metódussal zárhatunk be egy ablakot. A Release az ablak által lefoglalt memóriaterületet is felszabadítja. Ez azonban csak akkor történik meg, ha a Release-t tartalmazó metódus teljesen lefutott.
Ha csak el akarjuk rejteni az ablakot, akkor a Hide utasítás itt is működik.
Mentsük el a második ablakot Unit1 néven, majd térjünk vissza az első ablakhoz.
A uses listában vegyük fel a hivatkozást a Unit1-re. Ellentétben a normál Form-okkal, itt nem jönnek létre példányváltozók az osztályokhoz. Ha az első ablakban hivatkozni akarunk a második ablakra, akkor azt kétféle módon tehetjük meg. Az egyik, hogy felveszünk egy példányváltozót, az adott ablak típusával. A másik, amit az IWButton1 OnClick-jében használunk fel.
procedure TformMain.IWButton1Click(Sender: TObject);
begin
if IWEdit1.Text='' then WebApplication.ShowMessage('Meg kell adnia egy nevet!')
else
with TMenuForm.Create(WebApplication) do begin
lUser.Caption:=IWEdit1.Text;
Show;
end;
end;
A Form-ot a WebApplication-nek kell létrehoznia. Üzenet küldésére is a WebApllication.ShowMessage metódust használjuk. Miután létrehoztuk a második ablakot, az lUser címkének átadhatjuk az IWEdit1-be beírt felhasználónevet.
Egy Form megjelenítésére a Show metódus szolgál. ShowModal utasítás itt nem létezik.
Mentsük el az alkalmazást, majd próbáljuk ki.
Bizonyára észrevettük, hogy a böngésző vissza gombja nem működik. Erre is van megoldás. A View Unit ikon segítségével válasszuk ki a ServerController unitot. Jelenítsük meg a hozzá tartozó ablakot, majd kattintsunk rá. A HistoryEnabled értékét állítsuk igazra, a ShowResyncWarning értékét pedig hamisra. Ha most ismét elindítjuk a programot, akkor a vissza gomb is használhatóvá válik.