代码为什么实现不了 窗口化?求指点,显示我的画图区,但同时点击桌面上的其他图标时,没反应,只能alt+tab退出才行
求指点看有什么问题,显示我的画图区,但同时点击整个屏幕桌面上的其他图标时,没反应,只能alt+tab退出才行
hr = ::CoInitialize(NULL);
if(hr != S_OK)
return hr;
hr = DirectDrawCreate(NULL, &m_pDirectDraw, NULL);
if(hr != S_OK)
return hr;
//
hr = m_pDirectDraw-> SetCooperativeLevel(m_hWnd, DDSCL_NORMAL);
//To create the primary surface
DDSURFACEDESC ddsd;
memset(&ddsd, 0, sizeof(ddsd));
ddsd.dwSize = sizeof(ddsd);
ddsd.dwFlags = DDSD_CAPS;
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
hr = m_pDirectDraw-> CreateSurface(&ddsd, &m_pDDFrontSurface, NULL);
if(hr != S_OK)
return hr;
//To create the backbuffer
ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT;
ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN | DDSCAPS_3DDEVICE;
ddsd.dwWidth = 100;
ddsd.dwHeight = 100;
hr = m_pDirectDraw-> CreateSurface(&ddsd, &m_pDDBlackSurface, NULL);
if(hr != S_OK)
return hr;
//To create the cliper for front surface
LPDIRECTDRAWCLIPPER lpCliper = NULL;
hr = m_pDirectDraw-> CreateClipper(0, &lpCliper, NULL);
if(hr != S_OK)
return hr;
//Set the hwnd to cliper
hr = lpCliper-> SetHWnd(0, m_hWnd);
if(hr != S_OK)
{
lpCliper-> Release();
return hr;
}
//To set the cliper to front surface
hr = m_pDDFrontSurface-> SetClipper(lpCliper);
if(hr != S_OK)
{
lpCliper-> Release();
return hr;
}
lpCliper-> Release();