Datakent Ana Sayfa
Anasayfa Anasayfa > Diğer bölümler > Borland Delphi
  Aktif Konular Aktif Konular RSS: Delphi de görsel ve dinamik menu oluşturmak
  Yardım Yardım  Hızlı Ara   Kayıt Ol Kayıt Ol  Giriş Giriş

Delphi de görsel ve dinamik menu oluşturmak

 Yanıt Yaz Yanıt Yaz Sayfa  12>
Yazar
Mesaj
bayramoglu_61 Açılır Menü Göster
Moderator Group
Moderator Group
Simge

Kayıt Tarihi: 05.Temmuz.2007
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 25
  Alıntı bayramoglu_61 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Delphi de görsel ve dinamik menu oluşturmak
    Gönderim Zamanı: 09.Ekim.2009 Saat 14:46

Merhaba Murat abi , rica etsem kasa 7' nin giriş ekranında tasarladığın , o kadar kafa yormama rağmen çözemediğim o menu tarzı bi örnek yayınlarmısın Tongue

Yukarı Dön
murat turan Açılır Menü Göster
Admin Group
Admin Group
Simge
Datakent

Kayıt Tarihi: 01.Ekim.2003
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 1798
  Alıntı murat turan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 09.Ekim.2009 Saat 23:15

merhaba,
kesik şekilde formları yapmak için şuana kadar iki tür yöntem kullandım. il kullandığın yöntem paint de çizimi yapıyordum ve yaparken x,y koordinatlarını not ediyordum. çizimi bmp olarak kayıt edip photoshop da renklendirme, kenarlık ayarları vs... gibi kısımları ayarlıyordum. paint'de elde ettiğim x,y koordinatlarını delphide form'u kesmek için kullanıyordum. ve form'a bir adet timage nesnesi koyup photoshop'da yapıp yüksek kaliteli JPEG olarak kayıt ettiğim veya bmp olarak kaydettiğim resim dosysını programın kök dizinine koyup form yükleme esnasında timage nesnesie yüklüyordum. haliyle koordinatlarda kodlama ile kesildiğinde resim kesikler dışında kalıyordu. resim üzerinde phoshop'da ayar yaparken çizim dışına taşırmıyordum ( dış gölge kullanmayacaksın )
çok fazla kesim içeren formlarda bu yöntem baya zor oluyor. düşün ki ince form kesimlerinde belki 100 üzeri x,y koordinatı kullanıyorsun. örnek vereyim;

procedure TForm1.FormClick(Sender: TObject);
var
i:array [1..14] of TPoint;
FH:THANDLE;
begin
 FH := Form1.Handle;

 i[1]:=Point(50,50);
 i[2]:=Point(250,50);
 i[3]:=Point(250,75);
 i[4]:=Point(130,75);
 i[5]:=Point(130,90);
 i[6]:=Point(64,90);
 i[7]:=Point(64,75);
 i[8]:=Point(50,75);
 i[9]:=Point(50,50);

 i[10]:=Point(50,90);
 i[11]:=Point(250,90);
 i[12]:=Point(250,200);
 i[13]:=Point(50,200);
 i[14]:=Point(50,90);

 SetWindowRgn(FH,CreatePolygonRgn(i,14,WINDING),True);
end;

yukarıda dediğim gibi bu çizimin sonucuda istinaden yapığım resim'i de form'a yüklüyorum.

bunun dışında form'u CreateRectRgn, CombineRgn ve DeleteObject fonksiyonları ilede biçebilirsin.
örnek doküman:
http://www.megaupload.com/?d=KWNP36CC


ayrıca delphi 2009'da bu işi sıfır kod ile yapan bir mekanizma var.
örnek: ziyah zemin üzerine bir resim yap, form'un transparan özelliğini True yap ve transparanColor'u clblack yap. form'a bir image nesnesi koy ve resim'i yükle. (siyah ayarladığımızdan resimde siyah for üzerine olmalı) projeyi çalıştır ve sonucu gör. bu özellik belki önceki sürümlerde de vardır fakat Delphi 7 de yoktu diye hatırlıyorum. delphi 2009'da gözüme çarptı.

Yukarı Dön
bayramoglu_61 Açılır Menü Göster
Moderator Group
Moderator Group
Simge

Kayıt Tarihi: 05.Temmuz.2007
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 25
  Alıntı bayramoglu_61 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 10.Ekim.2009 Saat 14:22

Cevap için teşekkürler, ama benim sorum formu biçme ile ilgili değildi. kasa 7 alfa sürümünde  ki animasyonlu menu yu kasdetmiştim.

Yukarı Dön
turknetyazilim Açılır Menü Göster
Moderator Group
Moderator Group
Simge

Kayıt Tarihi: 18.Ocak.2008
Bulundugu Yer: Balıkesir
Online: Sitede Değil
Gönderilenler: 214
  Alıntı turknetyazilim Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 11.Ekim.2009 Saat 16:56
Murat abi sen büyük insansın.Yazılım Geliştirmede üzerine tanımıyorum.Senin seviyene ne zaman ulaşıcam benSmile
 
Saygılar abi
Yukarı Dön
murat turan Açılır Menü Göster
Admin Group
Admin Group
Simge
Datakent

Kayıt Tarihi: 01.Ekim.2003
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 1798
  Alıntı murat turan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 12.Ekim.2009 Saat 12:29

zamanla herşey olur ismail sonu olmayan bir iş bu yetmez hiçbir zaman. bayram oğlu yanlış anlamışım seni :) izah edeyim;

delphinin klasik nesneleri kullanımış öncelikle. kullanılan nesneler;
Form'a TCoolBar koy, bunun içinede TToolbar ekle, TMainMenu ile menüyü tasarla, ve TToolbar 'ın Menu özelliğini tMainMenu nesnene bağla. ve form'a tMainMenu ekleyince hemen form'un Menu özelliği bu nesneye yapışıyor. bu sebeple form'un menu özelliğini TMainMenu ekleme sonrası kaldır.
Yukarı Dön
bayramoglu_61 Açılır Menü Göster
Moderator Group
Moderator Group
Simge

Kayıt Tarihi: 05.Temmuz.2007
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 25
  Alıntı bayramoglu_61 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 12.Ekim.2009 Saat 13:47
Teşekkürler üstad deniyecem bunu ..
Yukarı Dön
bayramoglu_61 Açılır Menü Göster
Moderator Group
Moderator Group
Simge

Kayıt Tarihi: 05.Temmuz.2007
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 25
  Alıntı bayramoglu_61 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 12.Ekim.2009 Saat 14:54
Cry Murat abi ilk giriş ekranı yokmu kullanıcı girişi yaparken.Hani şirket işlemleri, kullanıcı işlemleri , diğer işlemler vs seceneklri var, birine tıklayınca ötekiler animasyonlu bi şekilde geciyor.Menu den kastım o kısım.umarım bu sefer doğru yere isabet etmişimdir :)
Yukarı Dön
murat turan Açılır Menü Göster
Admin Group
Admin Group
Simge
Datakent

Kayıt Tarihi: 01.Ekim.2003
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 1798
  Alıntı murat turan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 14.Ekim.2009 Saat 01:04
:) bu defa tam isabet
orada klasik tshape, tlabel nesneleri var. bunun dışında özel bir nesne kullanılmamış.  left ve visible özellikleriyle for döngüsü kullanılarak ayarlama yapılmış.
Yukarı Dön
bayramoglu_61 Açılır Menü Göster
Moderator Group
Moderator Group
Simge

Kayıt Tarihi: 05.Temmuz.2007
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 25
  Alıntı bayramoglu_61 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 14.Ekim.2009 Saat 09:11

Evet bu sefer tam isabet :) . Aynı mantıkla bende yapmaya çalıştım ama seninki gibi estetik gecişi sağlayamadım.Üstünde uğraşıldığı belli ..

Yukarı Dön
bayramoglu_61 Açılır Menü Göster
Moderator Group
Moderator Group
Simge

Kayıt Tarihi: 05.Temmuz.2007
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 25
  Alıntı bayramoglu_61 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 19.Ekim.2009 Saat 17:20

Murat abi rica etsem bu konu hakkında küçük bir örnek koyarmısın?Ben şu şekilde yaptım ama geciş gözle görülmeycek kadar hızlı oluyor ;

 
var
i:integer;
begin
for  i:=0 to 159 do begin
shape1.Left:=shape1.Left+1;
label1.Left:=label1.Left+1;
shape2.Left:=Shape2.Left+1;
label2.Left:=label2.Left+1;
shape3.Left:=shape3.Left+1;
label3.Left:=label3.Left+1;
shape4.Left:=shape4.Left+1;
label4.Left:=label4.Left+1;
shape5.Left:=shape5.Left+1;
label5.Left:=label5.Left+1;
shape6.Left:=shape6.Left+1;
label6.Left:=label6.Left+1;
 
shape7.Left:=shape7.Left-1;
label7.Left:=label7.Left-1;
shape8.Left:=shape8.Left-1;
label8.Left:=label8.Left-1;
shape9.Left:=shape9.Left-1;
label9.Left:=label9.Left-1;

end;
Yukarı Dön
murat turan Açılır Menü Göster
Admin Group
Admin Group
Simge
Datakent

Kayıt Tarihi: 01.Ekim.2003
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 1798
  Alıntı murat turan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 19.Ekim.2009 Saat 20:01
kardeş end; den hemen önce
sleep(1000);//ms cinsinden 1000 = 1 sn
application.proccessmessage;
 
bu işini görecektir. sleep komutu bir windows api sidir. duraksama yaratmak için kullanılır. çeşitli alternatifler vardır.
Yukarı Dön
turknetyazilim Açılır Menü Göster
Moderator Group
Moderator Group
Simge

Kayıt Tarihi: 18.Ocak.2008
Bulundugu Yer: Balıkesir
Online: Sitede Değil
Gönderilenler: 214
  Alıntı turknetyazilim Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 21.Ekim.2009 Saat 17:08
Murat abi bu yöntem çok güzel bir bir yöntem bulmuşsun.Ben bugün denedim.Oyun bile yapılabilir.Pişririk vsSmile
Yukarı Dön
 Yanıt Yaz Yanıt Yaz Sayfa  12>

Forum Atla Forum İzinleri Açılır Menü Göster



Bu Sayfa 0,188 Saniyede Yüklendi. [power by : WebWiz]