Tam ekran bir form.Nesnelerin yeri değişmeden
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Tam ekran bir form.Nesnelerin yeri değişmeden
iyi günler,
bir sorum olacak. 800x600 boyutunda bir form hazırladım. Bu formu masaüstünde ortaladım. Formun hepsini beyaza kapladım ve "borderstyle" none yaparak formun başlık kısmını yok ettim. Ekranda sadece beyaz bir alan görünmekte. Ekran görüntüm sadece bu.
Soruma gelecek olursam, 1024x768 çözünürlüklü bir ekranda çalışmaktayım. Ekranda hazırlamış olduğum 800x600'lük beyaz formumun arta kalan kısımlarında masaüstü olağan olarak görünmekte. Bu kısımları da beyaz yapmak istiyorum nasıl olacak.
Diyeceksiniz formu 1024x768'de hazırla. O zaman 800x600 çözünürlüklü bilgisayarda çalışan biri için görüntü karışır.
Bunu nasıl yaparız. Kod var mı veya fikir ?
bir sorum olacak. 800x600 boyutunda bir form hazırladım. Bu formu masaüstünde ortaladım. Formun hepsini beyaza kapladım ve "borderstyle" none yaparak formun başlık kısmını yok ettim. Ekranda sadece beyaz bir alan görünmekte. Ekran görüntüm sadece bu.
Soruma gelecek olursam, 1024x768 çözünürlüklü bir ekranda çalışmaktayım. Ekranda hazırlamış olduğum 800x600'lük beyaz formumun arta kalan kısımlarında masaüstü olağan olarak görünmekte. Bu kısımları da beyaz yapmak istiyorum nasıl olacak.
Diyeceksiniz formu 1024x768'de hazırla. O zaman 800x600 çözünürlüklü bilgisayarda çalışan biri için görüntü karışır.
Bunu nasıl yaparız. Kod var mı veya fikir ?
En son mbt tarafından 02 May 2004 07:07 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
-
- Kıdemli Üye
- Mesajlar: 489
- Kayıt: 13 Eyl 2003 09:10
- Konum: istanbul
- İletişim:
Merhaba
Kolay gelsin
Kod: Tümünü seç
procedure TMain_Form.FormCreate(Sender: TObject);
begin
Main_Form.Height:=Screen.Height;
Main_Form.Width:=Screen.Width;
end;
Merhabalar,
Aşağıdaki kod işine yarabilir.
Her durumda bütün ekranı kaplar ve form dışında bütün kontrolleri kapatır
Aşağıdaki kod işine yarabilir.
Her durumda bütün ekranı kaplar ve form dışında bütün kontrolleri kapatır
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
begin
application.terminate; // burası önemli aksi halde formu kapatamazsın
end;
procedure TForm1.FormCreate(Sender: TObject);
var
HTaskbar : HWND;
OldVal : LongInt;
begin
TRY
HTaskBar:=FindWindow('Shell_TrayWnd',nil);
SystemParametersInfo (97, Word (True), @OldVal, 0) ;
EnableWindow(HTaskBar,False);
ShowWindow(HTaskbar,SW_HIDE);
FINALLY
With FORM1 do begin
BorderStyle :=bsNone;
FormStyle :=fsStayOnTop;
Left :=0;
Top :=0;
Height :=Screen.Height;
Width :=Screen.Width;
end;
END{FINALLY}
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
HTaskbar : HWND;
OldVal : LongInt;
begin
HTaskBar:=FindWindow('Shell_TrayWnd',nil);
SystemParametersInfo (97, Word (False), @OldVal, 0);
EnableWindow(HTaskBar,True);
ShowWindow(HTaskbar,SW_SHOW);
end;
saygılar
Sorum eksik anlanmış. Tam ekran yapmada sorun yok; ama nesneler tam ekran olunca sol üst köşeye kaymamalı. Halen ortada olmalı.Eğer form bütün ekranı kaplayacaksa WindowState özelliğini maximize yapın olsun bitsin?
Macromedia Flash ile hazırlanan bir program düşünün. "CD-ROM DATA" multimedya dergi CD'sini örnek vereyim. Bu programı hangi çözünürlükte çalışırsa çalışsın. Tam ekran olmakta ve nesnelerde çözünürlüğe göre yerleştirilen yerde olmakta.
Mcihad'ın verdiği:
nefis bir kod. Kendisine teşekkür ediyorum. Farklı açılardan bu kod işime yarar.form1.scaleby(deger1,deger2);
Diğer arkadaşların verdiği tüm kodlar, tam ekran yapıyor ama nesneler ayarladığım gibi durmuyor. Ekranın sol üst köşesinde olmakta. Başka fikir veya kod var mı ? Sorumdaki eksiklik şimdi giderildi

-
- Kıdemli Üye
- Mesajlar: 489
- Kayıt: 13 Eyl 2003 09:10
- Konum: istanbul
- İletişim:
Ben her çözünürlükte çalışacak şekilde şöyle çalışıyorum.
Ör: bir panelim bir de memo bileşenim olsun
formun oncreate olayına
width:=screen.width;
height:=screen.height;
formun active olayına aşağıdaki gibi gerekli kodları yazıyorum.
panel1.height:=form1.height-40;
panel1.width:=form1.widht div 3;
memo1.left:=(form1.width-memo1.width) div 2;
memo1.height:=form1.height-60;
yukarıdakileri örnek olsun diye yazdım. yanlış olabilir.
bu şekilde yaptığımda program her çözünürlükte tam ekran çalışıyor ve üzerindeki bileşenlerde ona göre konumlanıyor.
Ör: bir panelim bir de memo bileşenim olsun
formun oncreate olayına
width:=screen.width;
height:=screen.height;
formun active olayına aşağıdaki gibi gerekli kodları yazıyorum.
panel1.height:=form1.height-40;
panel1.width:=form1.widht div 3;
memo1.left:=(form1.width-memo1.width) div 2;
memo1.height:=form1.height-60;
yukarıdakileri örnek olsun diye yazdım. yanlış olabilir.
bu şekilde yaptığımda program her çözünürlükte tam ekran çalışıyor ve üzerindeki bileşenlerde ona göre konumlanıyor.
Bilgi paylaşıldıkça güzeldir.