2015-02-04 6 views
0

내 설치가 다소 불편합니다. CLR은 기본 Win32 응용 프로그램에서 호스팅됩니다. 응용 프로그램을로드하고 관리되는 어셈블리를 호출합니다 (C++/CLI로 작성). Assembly는 WPF ElementHost를 사용하여 Windows Forms 양식을 만듭니다. ElementHost에는 이미지 컨트롤 및 레이블 컨트롤이 포함 된 스택 패널이 채워집니다.호스팅 된 WPF 컨트롤의 이미지 리소스가 포함되어 있음

관리되는 어셈블리에 이미지 리소스가 포함되어 있습니다. 프로젝트의 리소스 파일 이름은 'Images'이며 문제의 특정 리소스의 이름은 'ISIconDB'입니다.

위의 리소스를 이미지 컨트롤의 소스로 사용하려면 어떻게해야합니까?

답변

0

알아 냈어.

[DllImport("gdi32.dll")] int DeleteObject(IntPtr hObject); 
 

 
//Drawing::Bitmap^ OrgResource; 
 

 
Windows::Media::Imaging::BitmapSource^ Marshalled = nullptr; 
 

 
try { 
 
Marshalled = System::Windows::Interop::Imaging::CreateBitmapSourceFromHBitmap(OrgResource->GetHbitmap(), 
 
IntPtr::Zero, Windows::Int32Rect::Empty, Windows::Media::Imaging::BitmapSizeOptions::FromEmptyOptions()); 
 
} 
 
catch (...) { 
 
Marshalled = nullptr; 
 
} 
 
finally { 
 
DeleteObject(OrgResource->GetHbitmap()); 
 
}