如何在屏幕上重新定位/调整资源大小?

时间:2008-12-12 15:04:34

标签: c++ windows-mobile embedded-resource

我想将原生相机应用程序嵌入到自定义表单中。 我要嵌入相机的RECT r属性如下:

r.top = 26; r.bottom = 220; r.left = 0; r.right = 320;

这是运行本机相机应用程序的方法:

  

HRESULT CPhotoCapture :: CameraCapture(HWND hwndOwner,LPTSTR pszFilename)   {       HRESULT hResult;       SHCAMERACAPTURE shcc;

//Set the SHCAMERACAPTURE structure
ZeroMemory(&shcc, sizeof(shcc));
shcc.cbSize = sizeof(shcc);
shcc.hwndOwner = hwndOwner;
shcc.pszInitialDir = _T("\\My Documents");
shcc.pszDefaultFileName = _T("test.jpg");
shcc.pszTitle = _T("Camera Demo");
shcc.StillQuality = CAMERACAPTURE_STILLQUALITY_HIGH;
shcc.VideoTypes = CAMERACAPTURE_VIDEOTYPE_MESSAGING;
shcc.nResolutionWidth   = 1024;
shcc.nResolutionHeight  = 768;
shcc.nVideoTimeLimit    = 15;
shcc.Mode = CAMERACAPTURE_MODE_STILL;

//display the camera capture dialog
hResult = SHCameraCapture(&shcc);

if(hResult == S_OK)
{
    //TODO:: Write to log
}

return hResult;

}

从窗口调用上述方法,其尺寸等于r:

HRESULT hr = S_OK;
hr = m_PhotoCapture.CameraCapture(this->m_hWnd, L"test");

有谁知道如何修改上面的函数(hwndOwner)在矩形r中显示嵌入资源的方式?

2 个答案:

答案 0 :(得分:1)

我认为您需要在自定义表单上放置一个图片框(大小与所需尺寸一样),然后传递图片框的窗口句柄而不是表单本身的句柄。

答案 1 :(得分:0)

你不太清楚hwndOwner指向的是什么。关于这可能如何工作的我猜想*你需要创建一个Window,它是你的主显示窗口的子窗口,其位置与你的rect匹配(并且是可见的),然后传递它的句柄,然后捕获API使用DShow将帧抓取的输出从摄像机传递到句柄所代表的窗口。

免费获取贴纸的机会↓↓↓
豫ICP备18024241号-1