ImageCombo, Change olayını tetikleyemiyor

Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Arkadaşlar merhabalar,

ImageCombo (Windows Common Controls-SP6 / mscomctl.ocx) kullanımında, bir hata ila karşılaşmaktayım. Gerçi ne kadar hata olduğu da tartışılır.

ImageCombo'ya textler, keyler, resimler yüklenmekte ... Bu aşamaya kadar sorun yok ... Ancak, nesneye ait Events kullanımlarına geçildiğinde, özellikle "Change" olayı bir türlü tetiklenmiyor. Muhtemelen diğer Events'larda da aynı problem bulunmakta ...

ImageCombo'da Dropdown menüden, Manuel olarak seçim yaptığımda da, aynı userform üzerinde bulunan Treeview'in Node_Click olayı tetiklemesi sonucundaki otomatik seçimlerde de aynı sorunla karşılaşıyorum. Yani, ne manuel ne de otomatik değişimlere cevap vermiyor.

Sorunla karşılaşan ve çözüme ulaşan bir arkadaş fikir verebilirse sevinirim ...

Selamlar
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sn Ferhat bey

Sorun yaşadığınız bir örnek dosya eklermisiniz.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Levent bey, merhabalar

Dosyayı eklemek isterdim ama tüm datalar Access veri tabanına bağlı ve birkaç registry ayarı ve kurulum gerektiriyor. Bu nedenle, salt xls dosyayı göndermem çok bir işe yaramayacak ama şöyle bir yol düşünebiliriz :

Forumdaki herhangi bir ImageCombo kullanılan xls dosyasını referans alabiliriz. Hatırladığım kadarıyla sizin bir üyemize yaptığınız böyle bir uygulama vardı.

Bu uygulamalardan herhangi birinde

Kod:
Private Sub ImageCombo1_Change()
MsgBox "Oldu bu iş"
End Sub
olay kodunu çalıştırabilirsek, benim işim hayli hayli görülür.

İlginize teşekkür ederim.

Mesela, bir örnek bu linkte mevcut ...

http://www.excel.web.tr/showthread.php?t=30323&highlight=imagecombo

Şu an ImageCombo-Change için kullandığım kod ise aşağıdaki gibi,

Kod:
Private Sub ImageCombo1_Change()
    Dim itm As Node
    Dim x As Integer
    Dim i As Integer
    Dim str As String
    With frm_URN
        For Each itm In .TreeView1.Nodes
            str = Replace(itm.FullPath, "Ürünler\", "")
            x = InStr(1, str, "\")
            If x > 0 Then
                str = Left$(str, x - 1)
            Else
                str = str
            End If
            If str = ImageCombo1.Text Then
                On Error Resume Next
                With itm
                    .Expanded = True
                    .Selected = True
                    With .Child
                        .Expanded = True
                        .Child.Expanded = True
                    End With
                End With
                .TreeView1.DropHighlight = itm
                On Error GoTo 0
                Exit For
            End If
        Next
    End With
End Sub
ama Prosedürün ilk satırına Breakpoint yerleştirseniz bile, kod bu satıra hiç uğramadan geçip gidiyor.

Userformun Initialize olayında da aşağıdaki makro çalıştırılıyor ... Başka da ImageCombo'ya müdahale edilen bir alan yok.

Kod:
Sub URN_ImgCmb1Doldur()
    Dim i As Integer
    sql = "SELECT GrpACK, GrpID FROM GRUPLAR_ANA" [COLOR=darkgreen]'Public[/COLOR]
    Call CoN_Kontrol [COLOR=darkgreen]'Public[/COLOR]
    Set rs = New ADODB.Recordset [COLOR=darkgreen]'Public[/COLOR]
    rs.Open sql, coN, 1, 3
    If rs.RecordCount > 0 Then
        With frm_URN.ImageCombo1
            .ImageList = frm_URN.ImageList1
            .ComboItems.Add , , "Ürünler", 2
            Do Until rs.EOF
                .ComboItems.Add , , Replace(rs(0), Chr(172), "'"), 1, , 2
                rs.MoveNext
            Loop
        End With
    End If
    Set rs = Nothing
End Sub
 
Son düzenleme:

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
change yerine click olayı amacınızı karşılarmı? change olayı imagecomboboxtaki veriyi seçince değilde elle giriş yapıldığında çalışıyor.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Vallahi, Levent bey, el elden üstünmüş derler ya ... Doğruymuş ...

Aklıma zerre kadar gelmedi o üçkağıtçı Click olayı :) Vah vah

Önerinizdeki gibi Click olayı da gördü işimi ... Napayım change'î mhange'i ?

Çok teşekkürler ...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Rica ederim. Sorununuzun çözüldüğüne sevindim.
 
Üst