Componentten yeni Component turetme

Başlatan z, 02 Haziran 2012, 22:12:37

z

https://www.picproje.org/index.php/topic,39677.30.html basliginda C# da Textbox dan yola cikilip Hexbox adini verdigimiz yeni bir  componet uretilmisti.

Ayni islemin Delphi'de yapilisini kim anlatabilir?

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Delphici arkadaslardan bu konuya hakim olan yokmu?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

ByTEK

Genelde Hazır bileşen kullanırdım.. bileşen oluşturma konusunda tecrübem olmadı.. Kurcalamaya kalktım ama delphide problem var kilitleniyor. CD çizik olduğu için yüklenmedide.. bileşen oluşturmayı öğrenmek gerekli sanırım..

Burak B

#3
     @z Hocam detaylı anlatmak uzun sürer. Sadece araştırmanız gereken tekniğin adını veriyorum ve birazda ön bilgi. Tekniğin adı "Subclassing" ve siz "Win32 control subclassing" diye araştırabilirsiniz. Olay şu şekilde cereyan eder. Windows tarafından kullanılan kontroller birer sınıfa dahildir. Hatta, aslında bunlar birer pencereden türemiştir de diyebiliriz ama detay olur. Delphide bu durum daha kolaylaşır. Aşağıdaki Delphi ile ilgili linke bakınız.

     Mesela "CreateWindow" fonksiyonu ile bir pencere oluştururken bunun sınıfını "EDIT" yaparsanız. Windows bu pencereyi bir editbox olarak oluşturur ve kullanır. Aynı şekilde "BUTTON", "COMBOBOX", "STATIC", ... (devamı için tıklayın) gibi hazır sınıflar vardır. Olayın özü bu sınıfların kontrolünü windowsun elinden almak ve kendi tanımladığımız bir sınıfa vermektir. Mesela  "GFXEDIT" sınıfına. İşte bu noktada devreye subclassing girer. Çünkü bu sınıfın mesaj döngüsünü kırmanız ve kendi kodlayacağınız bir mesaj döngüsüne yönlendirmeniz ve sonrada filitrelenmiş olan mesajlardan arta kalanları yine eski mesaj döngüsüne sokarak bu döngüyü devam ettirmeniz gerekir. Böylece "EDIT" sınıfından bir "GFXEDIT" alt sınıfı türetilmiş olur.  Daha fazla teknik detay ile kafaları karıştırmadan örnekler ile bitireyim.

Safe subclassing in win32
Control Subclassing

Delphi Custom Component Development

Bu iş en iyi C ve ASM de kavranır diyerek;
MASM ile yazılmış bir subclassing örneği, kodları mevcut. <- Bence görsel bir gösteri. Subclassing ile neler yapılabileceğini iyi anlatıyor. :)


"... a healthy dose of paranoia leads to better systems." Jack Ganssle

z

@Bytemaster

Verdigin linktekileri firsat buldukca takip edecegim.
Simdilik frame uzerine konmus standart komponentler koyup bunlara ait kodlari yazip daha sonra da bu frame'i formda komponent gibi kullanmak isimi gorecek gibi.

Cok kisa ve oz bilgi icin asagidaki linkteki birumherin aciklamasina bakin.

https://www.picproje.org/index.php/topic,28134.msg291776.html#msg291776
Bana e^st de diyebilirsiniz.   www.cncdesigner.com