Form Resize

Form Resize olayını kullanarak formun boyutlarını değiştirdiğimizde formdaki elemanlarında boyutları değişen bir uygulama hazırlayacağız

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.



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



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.



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));



  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

• 11 yıl önce
:gul:Teşekkurler
• 9 yıl önce
biraz dahasade anltsan daha yeniyiz biz .. :D

Yukarı Git