-
-
[求助]发几段代码,请教怎么设置窗口大小
-
发表于: 2008-8-13 23:20 3828
-
可能我表达得不太好,我修改一个程序,那个程序是用来观看远程屏幕的,我想把那个窗口固定某个大小,或者说让远程屏幕固定在某个区域显示。但修改很多次都失败。
// 初始化窗口大小结构 m_hDC = ::GetDC(m_hWnd); m_hMemDC = CreateCompatibleDC(m_hDC); m_hFullBitmap = CreateDIBSection(m_hDC, m_lpbmi, DIB_RGB_COLORS, &m_lpScreenDIB, NULL, NULL); SelectObject(m_hMemDC, m_hFullBitmap); SetScrollRange(**_HORZ, 0, m_lpbmi->bmiHeader.biWidth); SetScrollRange(**_VERT, 0, m_lpbmi->bmiHeader.biHeight);
RECT rectClient, rectWindow; GetWindowRect(&rectWindow); GetClientRect(&rectClient); ClientToScreen(&rectClient); int nBorderWidth = rectClient.left - rectWindow.left; // 边框宽 int nTitleWidth = rectClient.top - rectWindow.top; // 标题栏的高度 int nWidthAdd = nBorderWidth * 2 + GetSystemMetrics(SM_CYHSCROLL); int nHeightAdd = nTitleWidth + nBorderWidth + GetSystemMetrics(SM_CYVSCROLL); int nMinWidth = 400 + nWidthAdd; int nMinHeight = 300 + nHeightAdd; int nMaxWidth = m_lpbmi->bmiHeader.biWidth + nWidthAdd; int nMaxHeight = m_lpbmi->bmiHeader.biHeight + nHeightAdd; // 最小的Track尺寸 m_MMI.ptMinTrackSize.x = nMinWidth; m_MMI.ptMinTrackSize.y = nMinHeight; // 最大化时窗口的位置 m_MMI.ptMaxPosition.x = 1; m_MMI.ptMaxPosition.y = 1; // 窗口最大尺寸 m_MMI.ptMaxSize.x = nMaxWidth; m_MMI.ptMaxSize.y = nMaxHeight; // 最大的Track尺寸也要改变 m_MMI.ptMaxTrackSize.x = nMaxWidth; m_MMI.ptMaxTrackSize.y = nMaxHeight;
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
他的文章
看原图
赞赏
雪币:
留言: