8 Şubat 2014 Cumartesi

VB ResEditörden Image kontrolüne Gif Dosyası Yükleme

ResEditör ile çalıştıysanız , buradan image kontrolüne resim yüklemek istediğinizde yalnızca Bitmap klasörüne kaydettiğiniz Bitmap türü dosyaları yükleyebildiğinizi görürsünüz. Image kontrolüne örneğin bir Gif dosyasını buradan yükleyemezsiniz. Onu ancak CUSTOM klasörüne alabilir, ama bu defa da Image kontrolüne LoadPicture metdu ile bu gif dosyasını yükleyemediğinizi görürsünüz. Modüle eklenecek aşağıdaki fonksiyon ile ResEditörün CUSTOM klasörüne alınmış gif dosyalarını uygulamanızda rahatlıkla kullanabilirsiniz.  Ben Image üzerine bir label yerleştirerek Image kontrolünü ışıklı bir buton olarak kullandım. Forma dizi olarak ayarlanmış iki Image ve iki label yerleştirdim. Labeller Image kontrollerinin tam üzerinde. (Image üzerinde Sağ tuşla Send To Back yaparak Labeli Image kontrolünün önüne getirebilirsiniz.). Name özellikleri lblCinsiyet ve imgCinsiyet. Bunları bir seçenek butonu olarak kullanacağım ve hangisi seçilmişse o aydınlanacak, diğeri kararacak ve seçim bir değişkene atanacak. lblCinsiyet caption’ları “KIZ” ve “ERKEK”. ResEditörde CUSTOM klasörüne daha önce biri parlak, diğeri donuk/karanlık olan aynı gif dosyasını 101 ve 102 olarak aktardım. ResEditör kullanımı sitedeki makaleler içerisinde olduğundan yazmadım. Oradan yeterli bilginin alınabileceğini düşünüyorum. Hepinize kolay gelsin.
 Şimdi kodlar:

‘*****Modüle eklenecek kısım******
Public Function GifYükle(ResNo As Integer, DosyaAdı As String)
'Bu yordam ResEditör içerisinde "CUSTOM" klasörüne kaydedilmiş
'gif dosyalarının kontrole yüklenmesinde kullanılır.
    Dim Dizi() As Byte
    Dim Dosya As Long
   
        Dizi = LoadResData(ResNo, "CUSTOM")
        Dosya = FreeFile
        Open DosyaAdı For Binary Access Write As #Dosya
        Put #Dosya,  Dizi
        Close #Dosya
   
End Function


‘*******Forma eklenecek kısım********
Option Explicit
Dim CinsiyetSeçimi as String
Private Sub lblCinsiyet_Click(Index As Integer)
Dim Diğeri as Integer
If Index=0 then
     Diğeri=1
Else
     Diğeri=0
End If
    
lblCinsiyet(Index).ForeColor = &HC0FFFF
            lblCinsiyet(Diğeri).ForeColor = &H8000000C

'Tıklanan Buton aydınlatılıyor
                'Res editördeki custom gif dosyası c:\tmpfile.$$$ adresine kopyalanıyor.
                GifYükle 101, "c:\tmpfile.$$$"
                'Gif dosyası c:\tmpfile.$$$ adresinden imgCinsiyet(0) kontrolüne yükleniyor
                imgCinsiyet(Index).Picture = LoadPicture("c:\tmpfile.$$$")
'Diğer Buton karartılıyor
                'Res editördeki custom gif dosyası c:\tmpfile.$$$ adresine kopyalanıyor.
                GifYükle 102, "c:\tmpfile.$$$"
                'Gif dosyası c:\tmpfile.$$$ adresinden imgCinsiyet(1) kontrolüne yükleniyor
                imgCinsiyet(Diğeri).Picture = LoadPicture("c:\tmpfile.$$$")

CinsiyetSeçimi=lblCinsiyet(Index).Caption

End Sub

Hiç yorum yok:

Yorum Gönder