Delphi Can
Oluşturduğunuz Bileşene Icon Eklemek - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Eğitim (https://www.delphican.com/forumdisplay.php?fid=19)
+---- Forum: Makale (https://www.delphican.com/forumdisplay.php?fid=20)
+---- Konu Başlığı: Oluşturduğunuz Bileşene Icon Eklemek (/showthread.php?tid=1884)



Oluşturduğunuz Bileşene Icon Eklemek - Halil Han BADEM - 26-01-2018

Herkese selamlar,

Bu yazımda sizlere oluşturmuş olduğumuz bir Delphi bileşenine Tool Palette kısmında görünen varsayılan icon yerine kendi belirlediğimiz iconu nasıl koyacağımızı anlatacağım.

Öncellikle @SimaWB üstadın hazırlamış olduğu bir Delphi IDE'sine eklenti eklemek için bir yazısı mevcuttu. Buradan bir bileşen oluşturmak için fikir edinebilirsiniz. Herhangi bir sınıfa bağlı kalmadan(TComponent) non-visual bileşen oluşturmak isteyen olursa yorum olarak belirtsin ki bende onun hakkında bir yazı yazayım.


Başlayalım;


1) Ilk olarak gerekli Register prosedürü ile ToolPalette bölümünde kendimize yer açalım.

qG89mq.png


2) Bu işlemi gerçekleştirdikten sonra projemizi açıp "Project >> Resources and Images" bölümüne giriyoruz.


lOrBLg.png

    1. Projemizi seçiyoruz.
    2. Main Menü'den gerekli seçimleri yapıyoruz.

3) Önümüze bir pencere açılacak ve bu pencerede bizden ".res" eklememiz gereken dosyaları isteyecektir. Bu durumda biz bir .bmp formatında(en azından en sağlıklısı) bir resim hazırlıyoruz. Tabi bu .bmp resim ayarlamasında dikkat etmeniz gereken hususlar var.

   1. husus şudur ki; BMP resim boyutu 24x24 boyutunda olmalı.
   2. husus ise; BMP resim biti 16bit olmalıdır. 
 
NOT: Bu ayarlamalar için Adobe Photoshop tavsiyemdir.

dOZ457.png

   1. Projemizin(sınıf adını) ismini tanımlıyoruz. (Resim ekledikten sonra)
   2. Add tuşu ile resmimizi ekliyoruz.
   3. Ok tuşu ile onaylıyoruz.

4) Buraya kadar geldikten sonra bir güzel derleyip tekrar kuruyoruz. Kurduğumuzda sonuç şu şekilde oluyor;

qG89RQ.png

NOT: Çizimlerin ne kadar güzel olduğunu görüyorsunuz(!). Çok iyi klavye hareketlerim vardır  Big Grin

Umarım faydalı bir içerik olmuştur..

Saygılarımla,
İyi çalışmalar.


Oluşturduğunuz Bileşene Icon Eklemek - uparlayan - 26-01-2018

Elinize sağlık. Alfa kanallı PNG simgelerini de bileşen paketimize ekleyebiliyoruz, bunun için de bir bilgilendirme yapabilir misiniz


Cvp: Oluşturduğunuz Bileşene Icon Eklemek - Halil Han BADEM - 26-01-2018

Teşekkürler üstat;

Alfa kanallı PNG formatlı simgelerin eklendiğini yeni öğrendim. O konu hakkında pek fikir sahibi değilim. İhtiyacım olmadı lakin merak ettim araştırıp bir şeyler bulduğumda güncellerim.

UPDATE: Olayı şimdi kaptım. Öncellikle Photoshop bilgisi biraz gerekli. RGB, R, G, B kanallarından ek olarak bir tane Alpha kanalı daha ekliyoruz. Bu kanalları PNG şeklinde ki simgemizi fill ederek işe devam ediyoruz. Sonrasında kayıt işlemini tamamladıktan sonra(format olarak ico yapmanız gerek çünkü resources ICON,BITMAP destekliyor.) gömme işlemini gerçekleştiriyorsunuz. Sonrası aynı işlemlerden oluşuyor.


Cvp: Oluşturduğunuz Bileşene Icon Eklemek - witalihakko - 26-01-2018

Bende Delphi 7 de nasıl ekleneceğini anlatmak istiyorum.
Halil kardeşimizin dedikleri aynen geçerli olmakla birlikte Delphi 7 256 renk istemekte 16x16 yada 32x32 boyutlarında bitmap resimler ekleyebiliyorsunuz.

Delphi 7 de paketinize sağ tıklayıp kodları göster diyoruz. {$R *.dcr}  kodunu buraya ekliyoruz. Böylece paketle aynı klasördeki .dcr dosyalarımızı projemize tanıtmış oluyoruz. *.dcr yerine direk isminide yazabilirsiniz.

6Jq2q9.png

LbgaZz.png
*.dcr ile proje klasöründe ki dcr dosyalarını kullanıma açtık. Şimdi yeni bir dcr dosyası oluşturmamız lazım. Bunun için menuden İmage Editörü açıyoruz. Buradanda yeni dcr dosyası diyerek yeni bir dcr dosyası oluştruyoruz. 

4aqgqq.png

JQkYkn.png

dcr dosyasının ismi proje ismiyle aynı olması gerekiyor. İçine koyacağımız resmin ismide hangi componentte görünmesini istiyorsanız o componentin ismi olması lazım. Bağlantıyı bu şekilde sağlıyor.

rO8Q6z.png

Oo9q9A.png
dcr dosyasını kaydettikten sonra projeyi tekrar derlediğimizde tool palette bileşen resmi görünmüş olur. DCR dosyası yerine RES dosyasınada aynı şekilde ekleyebilirsiniz. Aynı sonucu elde edeceksiniz. Bitmap yerine ico dosyasıda ekleyebilirsiniz.

z0lAl4.png


Cvp: Oluşturduğunuz Bileşene Icon Eklemek - Halil Han BADEM - 26-01-2018

(26-01-2018, Saat: 23:23)witalihakko Adlı Kullanıcıdan Alıntı: Bende Delphi 7 de nasıl ekleneceğini anlatmak istiyorum.
Halil kardeşimizin dedikleri aynen geçerli olmakla birlikte Delphi 7 256 renk istemekte 16x16 yada 32x32 boyutlarında bitmap resimler ekleyebiliyorsunuz.

Delphi 7 de paketinize sağ tıklayıp kodları göster diyoruz. {$R *.dcr}  kodunu buraya ekliyoruz. Böylece paketle aynı klasördeki .dcr dosyalarımızı projemize tanıtmış oluyoruz. *.dcr yerine direk isminide yazabilirsiniz.

6Jq2q9.png

LbgaZz.png
*.dcr ile proje klasöründe ki dcr dosyalarını kullanıma açtık. Şimdi yeni bir dcr dosyası oluşturmamız lazım. Bunun için menuden İmage Editörü açıyoruz. Buradanda yeni dcr dosyası diyerek yeni bir dcr dosyası oluştruyoruz. 

4aqgqq.png

JQkYkn.png

dcr dosyasının ismi proje ismiyle aynı olması gerekiyor. İçine koyacağımız resmin ismide hangi componentte görünmesini istiyorsanız o componentin ismi olması lazım. Bağlantıyı bu şekilde sağlıyor.

rO8Q6z.png

Oo9q9A.png
dcr dosyasını kaydettikten sonra projeyi tekrar derlediğimizde tool palette bileşen resmi görünmüş olur.

z0lAl4.png
 Değerli bilgiler için teşekkürler üstat. Ben sözel olarak anlatmaya çalıştım PNG meselesini ama sen daha ayrıntılı anlatmışsın.  Blush


Cvp: Oluşturduğunuz Bileşene Icon Eklemek - TescilsizUzman - 27-01-2018

Merhaba,
hyperxman, witalihakko ve uparlayan; DelphiCan'a katkı ve emeklerinizden dolayı ayrı ayrı teşekkür ederim.
Ben de özetle her iki sürüm arasındaki farkı anlatayım.
Resources and Images eklentisi ile beraber witalihakko'nun anlattığı yöntem, IDE ve Compiler tarafından Build işlemi sorucunda, gerekli olan dcr ve dres kaynak dosyaları otomatik olarak oluşturulur ve yine bu işlim sonucunda {$R *.dres} direktifi ilgili sınıfın bulunduğu pas dosyasına otomatik olarak eklenir.
Delphi XE ve üst serilerinden sonra IDE, kodlamayı minimize ediyor. Yalnızca bu işlem değil, bunun gibi daha birçok iş, kodlamayı en aza indirerek zamandan tasarruf sağlıyor ve Delphi'nin RAD sloganı perçinleniyor.