Delphi Can

Orjinalini görmek için tıklayınız: IzgaraPanel
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Daha önce Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. @murtishow76un sorduğu soru için çeşitli çözümler sunulmuştu. Hem o soruya farklı bir çözüm olması, hem de "bir bileşen nasıl yazılır"a basit bit örnek olması açısından bir bileşen yazdım:
TIzgaraPanel  Smile


Üzerinde ızgara çizgileri bulunan bir Panel:

IzgaraPanel_p7w2hf.gif


Aslında çok bir özelliği yok, yukarıdaki şekilde gösterilen 5 özellik var, design time'de Object Inspector'dan değiştirilebilen:

IzgaraPanel_eh9j7o.png

Yukarıda ifade etmeye çalıştım; örnek olması açısından yazılmıştır. O yüzden bazı eksiklikleri olabilir(Örneğin, özellikler değiştirilirken çizime engel değerlerin girilmesi engellenebilir). 

Geliştirmek isteyenler aşağıdaki linkten devam edebilirler...


Örnek uygulamanın EXEsi:
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

Kaynak kodlar:
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Elinize sağlık,

Sol üst köşeden sağ alt köşeye çapraz bir çizgi de çizdirebilirmisiniz.
(10-07-2018, Saat: 16:34)uparlayan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Elinize sağlık,

Sol üst köşeden sağ alt köşeye çapraz bir çizgi de çizdirebilirmisiniz.

Dün akşam, vakit bulabildiğim kadarıyla baktığımda benim yaptığım yöntemle istediğinizin zor olduğunu gördüm. 
IzgaraPanel'in Canvas'ını boyayarak yapılabilir ama bu sefer de daha önceki konuda bahsi geçen sorunlarla karşılaşılacak.

Vakit bulabilirsem daha ayrıntılı bir araştırma yapacağım.
Köşegen özelliği eklendi:
IzgaraPanel_cgqcm6.gif
Teşekkürler @SimaWB
@SimaWB çok teşekkür ederim çok işime yarayacak.. ancak kenar çizgisini  transparan kullanmam lazım bunu nasıl aşarız...
henüz araştırmadım ama birde panel üzerideki objelerin ızgaralara yaklaşınca mıknatıs gibi çekmesini nasıl yapabiliriz ..

bu arada form resize işleminde hata alıyordum düzenlendi..
  SetWindowRgn(Handle, LCombine, True);
  DeleteObject(LCombine);
   DeleteObject(L1);
   DeleteObject(L2);
   DeleteObject(L3);
   DeleteObject(L4);
(14-10-2018, Saat: 08:48)murtishow76 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.ancak kenar çizgisini  transparan kullanmam lazım bunu nasıl aşarız...
Hiç bir fikrim yok Sad

(14-10-2018, Saat: 08:48)murtishow76 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.henüz araştırmadım ama birde panel üzerideki objelerin ızgaralara yaklaşınca mıknatıs gibi çekmesini nasıl yapabiliriz ..
Tamamen farklı bir konu...
Eline sağlık kardeşim güzel bir kod.

Çarpraz çizgiyi sonradan eklemişsin ama çizgi tipine dahil olabilirdi belki.

  TCizgiType = (ctYatay, ctDikey, ctÇarpraz);

Çok aşırı sayıda çizim işlemi gerekirse Path sınıfı da kullanılabilir. Böylece for içinde çok sayıda çizim yerine tek seferde çizim yapılır.

Boyama apilerinde genelde Photoshop'taki Blend gibi özellikler de olabiliyor. Mesela arkada aynı renkten varsa otomatik farklı renkte çiziyor. SRCCOPY, PATPAINT gibi şeyler...