Picture Klasse: Bild anzeigen in einem Picture Control oder Static Element

Indian

Erfahrenes Mitglied
Hi

bin momentan richtig am verzweifeln. Ich versuche seit 2 Wochen ein Bild in einem Picture Control oder Static Steuerelement anzuzeigen.

1. Mir wurde nun mehrmals vorgeschlagen das eine Picture Klasse (siehe Anhang: Zip Datei) zu verwenden, welche mit denn gängigsten Bildformaten auskommt, zu benutzen. Ich habe eine Methode welche dies nun bewerkstelligen soll.

Code:
void CKasseDlg::ShowItemPicture(CString index)
{
    CPicture m_Picture;  // Create a Picture Object (An Instance Of This Class)

//  Load Picture Data Into The IPicture Interface (.BMP .DIB .EMF .GIF .ICO .JPG .WMF)
//  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	m_Picture.Load("Test.JPG"); // Load From a File - Just Load It (Show Later)
//  (U Must Include IDR_TEST In Your Resources Under a Custom Name, 4 Example - "JPG")

//  OR When Using a Pointer On a "Regular" MFC Application (CDC* pDC)
//  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	CDC* pDC = new CClientDC(this);
	m_Picture.UpdateSizeOnDC(pDC); // Get Picture Dimentions In Pixels
	m_Picture.Show(pDC, CPoint(0,0), CPoint(m_Picture.m_Width, m_Picture.m_Height), 0,0);
	m_Picture.ShowBitmapResource(pDC, IDB_TEST, CPoint(0,0)); // Show Bitmap Resource
}

Immer wennn ich jedoch versuche mein Projekt zu kompilieren bekomme ich eine Fehlermeldung:

Code:
Kasse fatal error LNK1120: 5 unaufgeloeste externe Verweise
Kasse error LNK2019: Nicht aufgeloestes externes Symbol "public: int __thiscall CPicture::UpdateSizeOnDC(class CDC *)" (?UpdateSizeOnDC@CPicture@@QAEHPAVCDC@@@Z), verwiesen in Funktion "public: void __thiscall CKasseDlg::ShowItemPicture(class ATL::CStringT<char,class StrTraitMFC<char,class ATL::ChTraitsCRT<char> > >)" (?ShowItemPicture@CKasseDlg@@QAEXV?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@Z)
Kasse error LNK2019: Nicht aufgeloestes externes Symbol "public: int __thiscall CPicture::ShowBitmapResource(class CDC *,int,class CPoint)" (?ShowBitmapResource@CPicture@@QAEHPAVCDC@@HVCPoint@@@Z), verwiesen in Funktion "public: void __thiscall CKasseDlg::ShowItemPicture(class ATL::CStringT<char,class StrTraitMFC<char,class ATL::ChTraitsCRT<char> > >)" (?ShowItemPicture@CKasseDlg@@QAEXV?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@Z)
Kasse error LNK2019: Nicht aufgeloestes externes Symbol "public: int __thiscall CPicture::Show(class CDC *,class CRect)" (?Show@CPicture@@QAEHPAVCDC@@VCRect@@@Z), verwiesen in Funktion "public: void __thiscall CKasseDlg::ShowItemPicture(class ATL::CStringT<char,class StrTraitMFC<char,class ATL::ChTraitsCRT<char> > >)" (?ShowItemPicture@CKasseDlg@@QAEXV?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@Z)
Kasse error LNK2019: Nicht aufgeloestes externes Symbol "public: int __thiscall CPicture::Show(class CDC *,class CPoint,class CPoint,int,int)" (?Show@CPicture@@QAEHPAVCDC@@VCPoint@@1HH@Z), verwiesen in Funktion "public: void __thiscall CKasseDlg::ShowItemPicture(class ATL::CStringT<char,class StrTraitMFC<char,class ATL::ChTraitsCRT<char> > >)" (?ShowItemPicture@CKasseDlg@@QAEXV?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@Z)
Kasse error LNK2019: Nicht aufgeloestes externes Symbol "public: int __thiscall CPicture::Load(class ATL::CStringT<char,class StrTraitMFC<char,class ATL::ChTraitsCRT<char> > >)" (?Load@CPicture@@QAEHV?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@Z), verwiesen in Funktion "public: void __thiscall CKasseDlg::ShowItemPicture(class ATL::CStringT<char,class StrTraitMFC<char,class ATL::ChTraitsCRT<char> > >)" (?ShowItemPicture@CKasseDlg@@QAEXV?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@Z)

und ich komme einfach nicht darauf an was es liegt.


2. Weiss ich nicht wie ich das Bild in meinem Steuerelement "Picture Control" (IDC_PICTURE_CONTROL) oder "Static" (IDC_PICTURE_STATIC) anzeigen lassen kann. Ich habe nicht verstanden wie die Picture Klasse es bestimmt, wo das Bild überhaubt angezeigt wird. D.h. ich weiss nicht wie ich dieser Klasse sagen kann das das Bild in der (Steuerelement)Picture Control angezeigt werden soll

Habe nun alles mögliche probiert ich habe nicht mal ein pixel vom Bild gesehen. Ich sehe schon schwarze Punkte überall... dreh ich schon durch ? :confused: :(

Bitte um hilfe
Indian
 

Anhänge

  • cpicture.zip
    6,1 KB · Aufrufe: 243
Zuletzt bearbeitet:
Zu 1)

Hast du denn cpicture.cpp in dein Projekt includet? (also nicht #include, sondern im Projekt hinzufügen?)

Zu 2)
Müsste mir erstmal die Klasse ansehen, hab im Moment leider keine Zeit.
 
Problem 1 hab ich gelösst. Hab das Debug Verzeichnis gelöscht und neu kompiliert. Geht

Jedoch weiss ich immer noch nicht wie die Bilder in einem Steuerlement anzeigen lassen kann.

Weiss das zufällig jemand ?
 
Hast du in deinem Static Control den richtigen Style gesetzt?
SS_ICON für Icons/Cursor oder SS_BITMAP für bitmaps bzw. im Resourceneditor den Typ Symbol resp. Bitmap.
 

Neue Beiträge

Zurück