|
|
发表于 2006-1-10 02:58:00
|
显示全部楼层
Re:求助—非常菜鸟的问题,各位大侠帮下忙
如果要窗口的话。。有点麻烦。。反正现在想睡觉了,就花几份钟把。。打几分钟了。
DWORD dwStyle;
dwStyle = GetWindowStyle(m_hWnd);
dwStyle &= ~WS_POPUP;
dwStyle |= WS_POPUP;//WS_OVERLAPPED | WS_CAPTION | WS_THICKFRAME | WS_MINIMIZEBOX | WS_SYSMENU;
SetWindowLong(m_hWnd, GWL_STYLE, dwStyle);
//上面是创建窗口的。。
//还要创建主页面。。
Rect rcwork
Rect rcTemp
GetWindowRect(hWnd,&rcTemp);
SetRect(&rcTemp, 0, 0, m_stDisplayInfo.wWidth, m_stDisplayInfo.wHeight);
AdjustWindowRectEx(&rcTemp, GetWindowStyle(m_hWnd), GetMenu(m_hWnd) != NULL, GetWindowExStyle(m_hWnd));
SetWindowPos(m_hWnd, NULL, 0, 0, rcTemp.right-rcTemp.left, rcTemp.bottom-rcTemp.top,
SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);
SetWindowPos(m_hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE);
SystemParametersInfo(SPI_GETWORKAREA, 0, &rcWork, 0);
GetWindowRect(m_hWnd, &rcTemp);
if ( rcTemp.left < rcWork.left ) rcTemp.left = rcWork.left;
if ( rcTemp.top < rcWork.top ) rcTemp.top = rcWork.top;
SetWindowPos(m_hWnd, NULL, rcTemp.left, rcTemp.top, 0, 0, SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
ddsd.dwFlags = DDSD_CAPS;
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
if ( FAILED(hr = m_pDD->CreateSurface(&ddsd, &m_pddsFrontBuffer, NULL)) ) return E_FAIL;
ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT;
ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
ddsd.dwWidth = m_stDisplayInfo.wWidth;
ddsd.dwHeight = m_stDisplayInfo.wHeight;
if ( FAILED(hr = m_pDD->CreateSurface(&ddsd, &m_pddsBackBuffer, NULL)) ) return E_FAIL;
差不多就这样,,应为时间的关系,我要睡觉了,,如果有点参数不明白,我就在这里点几个
m_stDisplayInfo。wWidth=800;
m_stDisplayInfo.Wheight=600; 其它的,是学过游戏开发的应该看得明白的了。。下线了
|
|