Anasayfa İletişim RSS
Burada reklam vermek için tıklayın!
 
Şimdi Üye Ol | Şifremi Unuttum
 
Anasayfa » Delphi (53 ders)
 
Form Resize

Yazar: Mehmet Keklik  
Eklenme: 20.08.2008   Okunma: 171    Puan: 3.6   Seviyesi:  Orta
Merhabalar arkadaşlar,

Bu dersimizde form resize olayından bahsedeceğiz. Peki, nedir form resize olayı? Bu olay formumuzun boyutlarını değiştirme olayıdır. Bir örnek yaparak bu olayı anlatacağım.

Bu örneğimizde formumuzda bulunan nesneler, formun boyutlarını küçülttüğümüzde küçülecek formun boyutlarını büyülttüğümüzde büyüyecek.
Ben formuma bir panel ,bir memo ve iki tanede buton ekledim.

http://img.sanalkurs.net/uploads/1_308.jpg

Forumdaki her elemanın kendi arasında ve formla arasında 10 piksel boşluk olmasını istiyorum. Önce formun boyutlarını hesaplayalım.

http://img.sanalkurs.net/uploads/1_309.jpg

Form'un Create olayına aşağıdaki kodu yazıyoruz.


form1.ClientHeight := panel1.Height + memo1.Height + button1.Height + 40; 
form1.ClientWidth := panel1.Width + 20;
{kodların sonundaki 40, 20 gibi rakamlar nesneler arasındaki ve form kenarları 
arasaındaki başlukların piksel cinsinden toplamı}


Form'un Resize olayına ise aşağıdaki kodları yazalım.


if form1.ClientWidth<200 then form1.ClientWidth:=200;//ClientWidth: Formun başlık ve çerçevesini çıktığımzda kullanılan genişlik demek 
if form1.ClientHeight<200 then form1.ClientHeight:=200;
panel1.Left:=10;
panel1.Top:=10;
panel1.Width:=form1.ClientWidth-20;

memo1.Left := 10 ;
memo1.top :=  panel1.Height + 20 ;
memo1.Width := form1.ClientWidth - 20;
memo1.Height := form1.ClientHeight - (40 + panel1.Height + button1.Height);
{memo nun yüksekliğini hesaplamak için form daki diğer elemanların yüksekliği ile 
boşlukları toplayım formun kullanılan genişliğinden çıkardım}

button1.left := 10;
button1.Top := panel1.Height + memo1.Height + 30 ;
button1.Width := (form1.ClientWidth-30) div 2 ;//İki tane butonum olduğu için boşlukları çıkıp ikiye böldüm

button2.left := button1.width + 20 ;
button2.Top := panel1.Height + memo1.Height + 30 ;
button2.Width := (form1.ClientWidth-30) div 2 ; //İki tane butonum olduğu için boşlukları çıkıp ikiye böldüm


Artık uygulamamız hazır.

http://img.sanalkurs.net/uploads/2_258.jpg

Son olarak nesnelerimizin üzerinde boyutlarının kaça kaç olduğunu yazdıralım. Bunun içinde aşağıdaki kodları form Resize olayına yazdığımız kodların altına ekliyoruz.


form1.caption:= (inttostr(form1.ClientWidth) +' x '+ inttostr(form1.ClientHeight));
panel1.Caption:=(inttostr(panel1.Width) +' x '+ inttostr(panel1.height));
memo1.text:=(inttostr(memo1.Width) +' x '+ inttostr(memo1.height));
button1.Caption:=(inttostr(button1.Width) +' x '+ inttostr(button1.height));
button2.Caption:=(inttostr(button2.Width) +' x '+ inttostr(button2.height));


http://img.sanalkurs.net/uploads/3_209.jpg

Kaynak dosyayı indirmek için tıklayın

 
  • Currently 3.63/5
Değelendirmek için üye girişi yapmanız gerekmektedir
EkleBunu Sosyal Paylam Butonu
Form Resize Dersini Yazdırın

"Form Resize" dersi için 1 yorum var

31.10.2008 esrarengiz48 diyor ki:
Teşekkurler

Üye olmadan yorum ekleyemezsiniz !


UYARI: SANALKURS'ta yer alan materyaller ile ilgili her türlü sorumluluk hazırlayan veya gönderene aittir. SANALKURS'ta yer alan hiçbir makale, yazarından izinsiz başka bir yerde yayınlanamaz. SANALKURS kullanıcıları ve üyeleri, üçüncü kişilerin telif hakkı sahibi bulunduğu her türlü fikri eser, fotoğraf, resim vb. materyal ve ürünleri kullanamazlar. SANALKURS kullanıcı ve yazarlarının, üçüncü kişilerin telif hakkı sahibi olduğu yazı, resim vb. ürünleri kullanması durumunda, her türlü hukuki ve cezai sorumluluk kendilerine aittir. Söz konusu haksız kullanım nedeniyle SANALKURS .NET'in hiçbir hukuki sorumluluğu bulunmamakta olup, haksız kullanım nedeniyle SANALKURS.NET'in üçüncü kişilere ödemek zorunda kalabileceği her türlü tazminat ve/veya adli/idari para cezaları ilgili Sanalkurs kullanıcılarından rücu edilecektir.
 İSTATİSTİKLER
XML Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz
ÇEVRİMİÇİ 148 Ziyaretçi, 32 Üye
Necati Özden, jette, defnee, sorix, endless, ankasam, ayseficici, zozane, Wizard, burakozcan, darbetim, HaZiRaN_, deli_kurt, gulsuna, yasmin_ya, bilalözdemir, bymemo, fatih, demiralkanlar, y_semin, mediawork, karani, kırmızısiyah, ozcanemos, mscpkr, ufukcry, ejderhan, fuko58, baron, Codest, blasters33, Fatih58
BUGÜN DOĞUM GÜNÜ OLAN ÜYELERİMİZ:
Seyfullahsarikaya (19), matmazel (24), hakanduzel (35), sensizim_melegim (19),
Bugün: 1418, Dün: 4855, Bu Ay: 106740, Toplam Ziyaret: 1805019, Toplam Üye: 130439, Son Üye: ufukcry
Toplam Ders: 1982, Toplam Yazar: 44, Toplam Dosya: 34, Toplam Link: 54
   
RSS Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz