FORM TASARIMI
Amaçlar:
-Form
tarasımını açıklamak.
-Form üzerinde
kullanılan araçları açıklamak.
I. FORM TASARIMI
Formlar
Delphi uygulamalarının görsel arabirimini
oluştururlar. Başlanılan bir Delphi
uygulamasında Form1 adında boş bir form yaratılır. Bu form uygulamanın
penceresi olur. Bu nedenle uygulamadaki gereksinimlere göre formun
tasarımın gerekir. Formun tasarımı için Component
Palette'den bileşenler form üzerine
eklenerek arabirim tasarlanır.
Şekil 3.1: Form

Bu açıdan formlar
görsel ve görsel olmayan bileşenlere konteynerlik
yaparlar. Görsel bileşenler metin kutusu, grid
vb kontroller olurken, görsel olmayan bileşenler ise özellik
veritabanı bağlantılarında kullanılan bileşenlerdir.
Formlar uygulamanın
kullanıcı arabirimini oluşturur. Bu nedenle uygulama geliştirmede
önemli rol oynarlar.
En basit düzeyiyle
form tasarımı şu konuları kapsar:
1) Formları yaratmak
2) Form üzerindeki
bileşenleri yerleştirmek
3) Bileşen
özelliklerini düzenlemek
4) Bileşenlerin
olaylara yanıt vermesini sağlamak için kod yazmak.
A. İLK FORMUNUZU
YARATMAK
Uygulamaya
başlatıldığında Projenin formu otomatik olarak görünür. Bunun dışında
projeye ek form eklemek için araç çubuğundan New Form düğmesi
tıklanır.
B. FORMU KAYDETMEK
Formu kaydetmek için
File menüsünden Save
Project komutu seçilir. Ardından forma verilecek ad istenir. Form
adının girilmesinden sonra proje dosyasının adı verilir.
Örneğin form kaynak
dosyası merhaba.pas olarak, proje dosyası ise merhaba.dpr
olarak verilir.
Delphi
form dosyaları DFM (Delphi Form
Module) olarak tutulur. DFM Dosyaları
Delphi 6'da metin olarak da saklanabilir.
Bu gibi değişiklikler Tools
menüsünden
Environment Options seçeneğinden
yapılır.
D. FORM DESIGNER
Form
Designer, uygulamaların kullanıcı
arabirimi olan formların tasarlanmasını olanaklı kılan ortamdır.
Normal kullanım sırasıyla bileşenler (örneğin bir metin kutusu) araç
kutusundan sürüklenerek form üzerine bırakılır. Ardından düzgün
görünümü sağlamak için bileşenler form üzerinde yerleştirilir.
Form üzerindeki
bileşenlerin yerini (konumunu) ayarlamak için fare ile istenilen yere
sürüklenir ya da daha hassas bir ayarlama
için Ctrl tuşu ile birlikte ok tuşları
kullanılır.
Form üzerindeki
bileşenlerin birbirlerine göre hizalanmalarını sağlamak için ise
View menüsünden
Alignment Palette kullanılır.
Şekil 3.2: Hizalama
araçları
1. Bileşenleri Form
Üzerinde Yerleştirmek
Bileşenleri form
üzerinde eklemek için birçok yöntem vardır:
1)
Component Palette üzerindeki bileşen
üzerine tıklayın. Ardından fare ile istenilen yere
sürükleyebilirsiniz.
2) Bir bileşenin
birden çok kopyasını yerleştirmek için Component
Palette üzerinde bileşene çift tıklayın.
Bileşenlerin fare
ile sürüklenerek form üzerinde istenilen bir yere yerleştirilmesinin
yanı sıra bileşenlerin Align özelliğini
kullanarak da form üzerindeki yerleşimi sağlanır.
Align
özelliğine alTop,
alBottom, alLeft ve
alRight değerleri vererek form üzerinde
yerleşimi sağlanır.
2. Görsel Bileşenler
Görsel bileşenler
çalışma zamanında görünürler ve genellikle kullanıcı arabiriminin bir
parçasıdırlar. Bu bileşenler Component
Palette üzerinde Standart, Additional ve
Data Controls gibi sekmelerde bulunur.
3. Görünmeyen
Bileşenler
Görünmeyen
bileşenler tasarım zamanında görünürler, ancak çalışma zamanında
görünmeden işlevlerini yerine getirirler.
Şekil 3.3:
Görünmeyen form bileşenleri.

4. MDI Formlar
Delphi
ortamında iki tür form kullanımından bahsedebiliriz.
Modal formlar ve MDI formlar. MDI (Multiple
Documents Interface)
uygulamalarda ise birden çok form bulunur. Özellikle büyük ve
bütünleşik bir uygulama geliştiriyorsanız uygulamanızın arabirimini
MDI olarak düzenlemenizin çok sayıda yararı vardır.
E. OBJECT INSPECTOR
Object
Inspector bileşenlerin özelliklerinin ve
olaylarının listelendiği bir penceredir. Özellikler alfabetik sırada
listelenmiştir.
Object
Inspector bileşen özelliklerinin çalışma
zamanında düzenlenmesini sağlar.
Şekil 3.4:
Object Inspector

1. Özellikler (Properties)
Özellikler sayfası
seçilen bileşenin yayınalan (published)
özelliğini gösterir. Bazı özellikler doğrudan özellikler sayfasında
düzenlenebileceği gibi diğerleri Property
Editor aracılığıyla düzenlenir.
Özellikler IDE
içinde düzenlendiği gibi kod ile de düzenlenir:
btnKaydet.Caption
:= 'Düğmenin Başlığı';
Şekilde de görüldüğü
gibi özellikler Object
Inspector aracılığıyla düzenlenir.
Object Inspector
sayfasında sol tarafta programcının tasarım zamanında
düzenleyebileceği özellikler, sağ tarafta ise bu özelliklere verilen
değerler yer alır. Yapılan düzenlemeler .DFM dosyasında yer alır.
F. OLAYLAR (EVENTS)
Olaylar sekmesinde
bileşenin yanıt vereceği olaylar düzenlenir. Bir olay seçilerek
(örneğin onclick), bileşen üzerindeki bu
olayın olması durumunda yerine getirilecek kod yazılır. Bu mekanizmaya
event handler
denir. Event handler,
olay oluştuğunda onu bileşen bağlar ya da
aynı event handler'ı
paylaşan diğer bileşenler olabilir.
Şekil 3.5'te de
görüldüğü gibi Begin-End
arasında Button1Onclick olayında çalıştırılacak kod yazılır.
Şekil 3-5: Düğmeye
tıklandığında çalışacak kod.

1. Olaylara Yanıt
Vermek
Object
Inspector'daki event
sekmesi bileşenin yanıt vereceği olayları listeler. Olaylar iki tür
olarak listelenir:
Sistem tarafından
başlatılan olaylar:
Bu olaylar Windows
tarafından yönetilir.
Kullanıcı tarafından
başlatılan olaylar:
Bu olaylar kullanıcı
tarafından oluşturulur. Örneğin kullanıcının fare ile düğmeye
tıklaması.
Her iki tür olayda
da kod olaya bağlanır. Bun mekanizmaya Event
Handler denir.
Bir
event handler
yaratmak:
1) Bileşen seçilir
ve Object
Inspector'dan Events sayfasından
işleyicisi seçilir.
2) Yanıt vermek
istediğiniz olay üzerinde çift tıklayın. Bu durumda
Delphi size olaya ilişkin yazılacak kod
bloğunu açar.
2.
Clock Örneği
Bu örnek basit bir
saat oluşturmaktadır.
1) Bir
Timer ve bir Button
bileşinn forma ekleyin.
2)
Timer'ın Interval
özelliğini 1000 olarak düzenleyin (1 saniye).
3.
Timer'ın OnTimer
olayı için bir event
handler yaratın. Bu olay düzenli olarak olayı tetikleyecektir.
Aşağıdaki kodu
ekleyin:
caption
:= TimeToStr(Now);
Formun
caption özelliğini şu anın zaman değeri
olarak değiştirir.
4)
Button bileşeni için bir
OnClick olay işleyicisi yaratın.
Begin ile End
arasına aşağıdaki kodu ekleyin:
Close;
Düğmeye tıklayarak
formun kapanması ve programın sonlanması sağlanır.
5) Uygulamayı
derleyin ve çalıştırın.
G. TAB ORDER
Delphi
içindeki bir form üzerinde gezerken, form üzerindeki kontroller
arasında geçiş yapılır. Bu işlem
kontroller üzerine odaklanmak (focus) ve
odağı kaybetmek olarak adlandırılır. Programın çalışması sırasında
odaklanmanın bu hereketi
Tab tuşuna basılarak olur. Form üzerindeki
kontrollerin tab sırasının düzenlenmesi
için TabOrder özelliği düzenlenir. Bu
düzenleme Object
Inspector üzerinde düzenlenir.
Bunun dışında
Edit menüsünden
Tab Order
komutuyla da form üzerindeki kontrollerin tab
sıraları düzenlenir.
H. NESNELERI
GRUPLANDIRMAK-PANELLER, GRUPLAR VE KAYDIRMA KUTULARI
Kontroller
gruplanarak tek bir kontrol gibi düzenlenir. Bu kontrol gruplarına
konteyner denir. Formlar gibi bu
bileşenler diğer bileşenleri içerebilir. Grup içinde yer alan
bileşenler Parent özelliğine sahiptir. Bu
özellik kontrolün içeride olduğunu belirtir.
ParetColor ve ParentFont gibi diğer
özellikler ise kontrolün belli özellikleri üst kontrolden almasını
sağlar.
Konteyner
bileşen sınıfları şunlardır:
1) Panel
Paneller genellikle
araç çubuğu ve durum çubuğu gibi kontrolleri yaratmak için kullanılır.
2)
GroupBoxes
GroupBoxes
ise birbiriyle ilgili bir grup kontrolü bir araya getirir.
3)
ScrollBoxes
Scrollboxes
ise genellikle ana formlar için kullanılır. Genellikle kendi alanından
daha fazla içeriğe sahip olan bu kontroller içeriğinin tümünü
görüntülemek için kaydırma çubuğu kullanırlar.
4)
TTabbedNotebooks &
Notebooks
Çok sayfalı formlar
yaratmak için kullanılır.
I. BIR TOOLBAR
YARATMAK
Bir araç çubuğu
yaratmak için:
1. Form üzerine bir
Panel bileşeni ekleyin.
2. Panel'in
Align özelliğini
alTop olarak düzenleyin. Böylece panel formun üstüne yapışır ve
formun büyüklüğü ve konumuna bakılmaksızın orada kalır.
3. İhtiyacınız olan
her düğme için bir SpeedButton bileşeni
ekleyin.
4.
SpeedButton'ların grupları
GroupIndex özelliği ile uyum içinde
çalışır. Örneğin üç düğme için bu özellik değeri 1 olursa; bu
düzenleme bu düğmelerden yalnızca birisinin basılı kalabileceğini
belirtir.
5. Her
SpeedButton bileşeni için
OnClick event
handler'ı yaratarak
herbirine tıklandığında yapılacak işlemler için kod
yazılabilir.
J. STATUS BAR
YARATMAK
Bir
Statusbar yaratmak için:
1. Form üzerine bir
Panel bileşeni ekleyin.
2. Panel'in
Align özelliğini
alBottom olarak düzenleyin. Böylece panel formun altına üzerine
yapışır ve formun büyüklüğü ve konumuna bakılmaksızın orada kalır.
3.
Caption özelliğini değiştirebilirsiniz.
Böylece belli olaylara yanıt olarak kullanıcıya durum bilgisi
gösterilir.
Örneğin bir
kontrolün amacı, fare işaretçisinin kontrol üzerine gelmesiyle durum
çubuğunda görünür.
K. DIALOG BOX
BİLEŞENLERI
Delphi'nin
iletişim kutusu bileşenleri uygulama geliştirmede
Delphi programcılarına kolaylıklar sağlar.
Delphi'deki iletişim kutuları:
1)
Open & Save
file dialogs
2) Font &
Colour selection
dialogs
3)
Find & Replace
dialogs
4)
Print and
Print Setup
dialogs
Her iletişim kutusu
kendisinin Execute metodunun çağrılmasıyla
görüntülenir. Metod,
True değerini döndürmesi iletişim kutusu üzerinde OK düğmesinin
tıklanması anlamına gelir.
L. TABBED NOTEBOOKS
Tablı
(sekmeli) formlar Windows uygulamalarında yaygın olarak kullanılır.
Tablar sayesinde sayfalı olarak
kullanılır. İki tür tablı kontrol vardır.
Bunlardan birisi TtabbedNotebook diğer ise
yalnızca Notebook olarak bilinir ve
Ttabset ve Tnotebook
bileşenlerinin kullanılmasıyla gerçekleştirilir.
Tbbaed
sayfalar Object
Inspector içinde yaratılırlar.
M. MENÜ TASARLAMAK
Menüler
Windows form uygulamalarının karakteristik parçasıdır.
Delphi formları iki tür
menüyü destekler. Bunlar
Main Menu ve
Pop Up menüdür.
Bu iki menü farklı davranmasına karşın
TmenuItem nesneleri için
konteyner olarak davranırlar.
1.
Main Menüler
Bir
main menü
formu üzerinde bir satır olarak yer alan menü
çubuğudur.
2. Pop
Up Menüler
Pop
Up menüler ise
belli kontrollere atanarak kullanılırlar. Kontrol üzerinde sağ
tıklayarak pop menüler açılır. Bu
menülere işlem
menüleri denir. Konuya ya da o
kontrole özel işlemleri sergilerler.
Pop
up menülerin
öğeleri birer event
handler'a bağlanarak çalışır.
III. GÖZDEN GEÇİRME
1. Özellik nedir?
Örnekleyiniz?
2. Olaylar nedir?
Örnekleyiniz?
|