Как открыть данные дочернего окна в Родительском окне
- Привет!
Я делаю простой графический редактор, используя OpenCV libriary , и я столкнулся с тем,что когда я использую openCV libriary,изображение,которое мне нужно открыть в hWnd,открывается в его "собственном" дочернем окне, и я не знаю, как получить картинку из дочернего окна и установить в родительское окно.
Что я уже пробовал:
int MyOpenFile(HWND hWnd) { ZeroMemory(&ofn, sizeof(ofn)); ofn.lStructSize = sizeof(ofn); ofn.hwndOwner = hWnd; ofn.lpstrFile = szFile; ofn.lpstrFile[0] = '\0'; ofn.nMaxFile = sizeof(szFile); ofn.lpstrFilter = L"Bitmap files(*.bmp)\0*.bmp\0JPEG files(*.jpg)\0*.jpg\0All files(*.*)\0*.*\0\0"; ofn.nFilterIndex = 1; ofn.lpstrFileTitle = NULL; ofn.nMaxFileTitle = 0; ofn.lpstrInitialDir = NULL; ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; GetOpenFileName(&ofn); wcstombs(filename,szFile,255); hdc = GetDC(hWnd); memDC = CreateCompatibleDC(hdc); image = cvLoadImage(filename, CV_LOAD_IMAGE_UNCHANGED);; dst = cvCloneImage(image); cvShowImage("image",image);//this func creates its own window,but i don't know //how to display image in parent window cvWaitKey(0); cvReleaseImage(&image); cvDestroyAllWindows(); ReleaseDC(hWnd, hdc); UpdateWindow(hWnd); return 0; }
Я пробовал этот алгоритм MFC, но он не работает в Winapi,но я думаю, что это правильно,но не для winapi, пожалуйста, скажите мне, как правильно использовать его в winapi
cvNamedWindow("IDC_STATIC_OUTPUT", 0); cvResizeWindow("IDC_STATIC_OUTPUT", 420, 240); hWnd = (HWND)cvGetWindowHandle("IDC_STATIC_OUTPUT"); HWND hParent = ::GetParent(hWnd); ::SetParent(hWnd, GetDlgItem(hWnd, )); ::ShowWindow(hParent, SW_HIDE); cvShowImage("IDC_STATIC_OUTPUT", frame_copy)
Заранее благодарю вас!