Visual Basic'de ExtractIcon metodunu kullanarak herhangi bir resmi simge haline getirebilirsiniz.
Bunu yapmak için Imagelist kontrolünün ListImage özelliğini kullanmalısınız. Deneyin çok basit olduğunu göreceksiniz.
Aşağıda bu ipucu ile ilgili gelen 20.04.2003 tarihli bir maili eklemek istiyorum. Tuncay'a teşekkürler:
Merhaba, Sayfanyzy uzun bir süredir ilgi ile takip ediyor ve çok be?eniyorum. Bildiklerinizi bizimle herhangi bir ?ey talep etmeden payla?ma dü?ünceniz takdir edilecek bir davrany?. Vbasic.bilgisi.com'un alt ba?lyklry arasynda bulunan ve yeni eklenen "Ypucu" bölümünde i?e yarayacak bir çok küçük kodun oldu?unu gördüm. Bunlardan biri de mailin ba?ly?ynda belirtti?im Resimleri Simge (ico) Haline Getirmek ba?lykly konu. Konuyu çok kysa olarak özetledi?iniz için buna bir ekleme yapma gere?i duydum. Herhangi bir formattaki resmi ikon haline getirmek için yazmy? oldu?unuz kod bir yere kadar sorunsz çaly?yyor. Yalnyz bir sorun var, resimlerin renk de?eri ikona göre de?i?iyor. Yani renk derinli?i 16 Bit'e dü?üyor. Bu da (özellikle WindowsXP'nin ?effaf ikonlaryny) dosyasyndan söküp bilgisayaryn herhangi bir yerine kaydederken görüntülenden çok daha kötü sonuçlar ortaya çykaryyor. Kysa bir süre önce bu konuda takyldy?ym için aklymda olan bir projeyi ertelemek zorunda kaldym. Biraz u?ra?tyktan sonra bu sorunu çözdüm ve bunu Visual Basic ile u?ra?an di?er arkada?larla payla?mak istedim. Basit olarak bir resmi ikona çevirmek için a?a?ydaki kod yeterli olur: Dim Resim As Picture Set Resim = Listview1.ListImages(1).ExtractIcon SavePicture Resim, "C:\Windows\Destop\Ikon.ico" Fakat bu kod yukaryda bahsetti?im sorunu ortaya çykaracaktyr. Bunun yerine forma Visible özelli?i False olan bir adet PictureBox yerle?tirip a?a?ydaki kodlary yazarsak sorunumuz ortadan kalkacaktyr. Dim Resim As Picture Set Resim = Listview1.ListImages(1).ExtractIcon Picture1.Picture = Resim SavePicture Picture1.Image, "C:\Windows\Desktop\Ikon.ico" Bu küçük ayryntyyy ilgili konuya ili?tirerek konu ile ilgilenen di?er arkada?laryn daha fazla yararlanmalaryny sa?layabilece?in kanaatideyim. Çaly?mlarynyn devamyny ve devamynda ba?arylaryn seninle olmasy dile?iyle.