Я использую этот код для помещения IplImage в pictureBox, закомментированная часть не работает, поэтому я пытаюсь выполнить первые 3 строки кода, но третья возвращает 3 ошибки во время компиляции:
1> UIThread.obj: ошибка LNK2028: неразрешенный токен (0A00030D) "extern" C "struct HDC__ * stdcall GetDC (struct HWND *)" (? GetDC @@ $$ J14YGPAUHDC_ @@ PAUHWND _ @@@ Z) ссылка на функцию "private: void clrcall UIThread :: Form1 :: BtnAcquire_Click (класс System :: Object ^, класс System :: EventArgs ^)" (? BtnAcquire_Click @ Form1 @ UIThread @@ $$ FA $ AAMXP $ AAVObject @ System @@ P $ AAVEventArgs @ 4 @@ Z)
1> UIThread.obj: ошибка LNK2019: неразрешенный внешний символ "extern" C "struct HDC * stdcall GetDC (struct HWND *)" (? GetDC @@ $$ J14YGPAUHDC_ @@ На PAUHWND _ @@@ Z) ссылается функция "private: void __clrcall UIThread :: Form1 :: BtnAcquire_Click (класс System :: Object ^, класс System :: EventArgs ^)" (? BtnAcquire_Click @ Form1 @ UIThread @@ $$ FA $ AAMXP $ AAVObject @ System @@ P $ AAVEventArgs @ 4 @@ Z)
1> C: \ Users \ Андреа Парола \ Documents \ Visual Studio 2008 \ Projects \ UIThread \ Debug \ UIThread.exe: фатальная ошибка LNK1120: 2 неразрешенных внешних элемента
так как мне преобразовать HWND в HDC?
HANDLE handle = (HANDLE)this->PbBoxImg->Handle.ToInt32();
HWND hWnd=*(HWND*)&handle;
HDC hdc = GetDC(hWnd);
//HDC hdc = picturebox.GetDC()->m_hDC;
char m_chBmpBuf[2048];
BITMAPINFO *m_pBmpInfo =0;
m_pBmpInfo = (BITMAPINFO *)m_chBmpBuf;
m_pBmpInfo->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
m_pBmpInfo->bmiHeader.biWidth = img->width;
m_pBmpInfo->bmiHeader.biHeight = -img->height;
m_pBmpInfo->bmiHeader.biBitCount= 24;
m_pBmpInfo->bmiHeader.biPlanes = 1;
m_pBmpInfo->bmiHeader.biCompression = BI_RGB;
m_pBmpInfo->bmiHeader.biSizeImage = 0;
m_pBmpInfo->bmiHeader.biXPelsPerMeter = 0;
m_pBmpInfo->bmiHeader.biYPelsPerMeter = 0;
m_pBmpInfo->bmiHeader.biClrUsed = 0;
m_pBmpInfo->bmiHeader.biClrImportant = 0;
StretchDIBits(hdc, 0, 0, img->width, img->height,
0, 0, img->width, img->height,
img->imageData, m_pBmpInfo,
DIB_RGB_COLORS, SRCCOPY);