ImageList nimmt *.bmp Format nicht auf

Dieses Thema im Forum "Programmieren" wurde erstellt von nightflyer1986, 7. Februar 2002.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. nightflyer1986

    nightflyer1986 ROM

    Registriert seit:
    7. Februar 2002
    Beiträge:
    2
    Hi!
    Mein Problem ist folgendes:

    Ich habe ein CListCtrl (CListView) in dem ich Bilder als Thumbnails anzeigen möchte. Die Bilder werden in VB geladen und über eine Funktion per LPPICTUREDISP an C++ übergeben. Wenn ich nun in VB eine *.jpg Datei lade und diese übergebe, zeigt das ListCtrl das Bild problemlos an, lade ich aber eine *.bmp Datei, wird diese scheinbar nicht von der ImageList aufgenommen und somit auch nicht im ListCtrl angezeigt. Was ist das Problem?

    Der Quellcode unter C++:

    BOOL CThumbnailViewCtrl::AddItem(LPPICTUREDISP pItem, LPCTSTR strPath)
    {
    BOOL bRet = true;
    int nRetInd;
    CPictureHolder pHolder;
    HBITMAP hBitmap = NULL;

    if (NULL == m_imageList.m_hImageList) bRet = CreateImageList();

    //LPPICTUREDISP in CPictureHolder übertragen
    pHolder.SetPictureDispatch( pItem );

    // get handle of the bitmap
    pHolder.m_pPict->get_Handle((OLE_HANDLE FAR *) &hBitmap);
    // create a temporary bitmap
    CBitmap * pBitmap = CBitmap::FromHandle( hBitmap );

    if (bRet) {
    nRetInd = m_imageList.Add( pBitmap, RGB(0, 0, 0) );
    int item = m_pList->InsertItem( m_pList->GetItemCount(), strPath, nRetInd);
    //m_pList->SetItemPosition( item, CPoint( 105*item, 5 ) );
    }

    return bRet;
    }

    Der Code unter VB: (stellt aber eher den unwichtigeren Teil da, d.h. dient nur zum laden eines Bildes)

    Dim pic As StdPicture
    Dim str As String
    str = "F:\bild.jpg" \'in dem Format wird das Bild angezeigt. Im *.bmp Format nicht
    Set pic = LoadPicture(str)
    ThumbnailView1.AddItem pic, str
    End Sub
    thx
    Martin Krellmann
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen