2012-06-18 6 views
0
에서 나는 C++/CLI를 사용하고

를 비트 맵 (.NET)을 만들고 나는 원시 HBITMAPhStrip라는이, 나는 PictureBox이를 표시하는, 그래서 나는 다음과 같은 기능 System::Drawing::Image::FromHbitmap을 발견, 그러나이 소요 IntPtr 및 나는 내 원료를 HBITMAP으로 변환해야하는지 궁금해했다. 또는 이것을 전달하기 전에 IntPtr으로 전달할 것인가?HBITMAP

변환해야하는 경우 어떻게 변환해야합니까? 나는이 방법으로 전환을 실제로 발견하지 못했다. 나는 그것을 다른 길로 생각했다.

+0

당신이 그것을 시도? 그러한 경우에 실패합니까? – Attila

+0

@Attila 아니오 내 응용 프로그램이 너무 복잡하여 단순히 atm을 시도하기 때문에 시도하지 않았습니다. 그들은 본질적으로 다른 유형이기 때문에, 나는 단지 비 호환성을 가정하고 있지만 어쩌면 내 가정은 틀린 것입니다. –

+0

HBITMAP은 핸들입니다. 이것은 효과적으로 IntPtr입니다. –

답변

3

간단한 캐스팅 작업이 수행됩니다 :

HBITMAP hBmp = NULL; 
// Assign hBmp 
//... 
Bitmap^ bmp = Bitmap::FromHbitmap((IntPtr)hBmp); 
DeleteObject(hBmp); // okay to destroy now