MFC在最大化窗口处绘制新窗口
MFC draw new at maximized window
我有一个MFC MDI应用程序。如果我调整窗口的大小,我将得到新的比例的窗口。
BEGIN_MESSAGE_MAP(CmyView, CFormView)
ON_WM_SIZE()
END_MESSAGE_MAP()
void CmyView::OnSize(UINT nType, int cx, int cy)
{
RECT rc;
GetClientRect(&rc);
if (::IsWindow(m_XYZ.GetSafeHwnd()))
{
m_XYZ.MoveWindow (rc.left, rc.top,rc.right,rc.bottom);
}
}
一切正常,但如果我点击最大化按钮,屏幕不会自行调整大小。我将在右侧和底部得到一个白色边框。是否有任何变化,以获得最大的事件,如调整大小事件(ON_WM_SIZE()) ?
谢谢:)
谢谢你的回答!我找到问题了。
我说过,我有一个MDI应用程序。我在第一个和第二个视图中使用了ON_SIZE事件。最大化或最小化事件只在大型机中调用。
但问题仍然存在。
void CMainFrame::OnSize(UINT nType, int cx, int cy)
{
RECT rc;
GetClientRect(&rc);
CWnd* ViewWin = GetWindow(0); // this is my first view
if (::IsWindow(ViewWin->GetSafeHwnd()))
{
if (nType == SIZE_MAXIMIZED)
ViewWin->ShowWindow(SW_MAXIMIZE);
else if (nType == SIZE_MINIMIZED)
ViewWin->ShowWindow(SW_MINIMIZE);
else
ViewWin->MoveWindow (rc.left, rc.top,rc.right,rc.bottom);
}
CWnd* ViewWin1 = GetWindow(1); // this is my second view
if (::IsWindow(ViewWin1->GetSafeHwnd()))
{
if (nType == SIZE_MAXIMIZED)
ViewWin1->ShowWindow(SW_MAXIMIZE);
else if (nType == SIZE_MINIMIZED)
ViewWin1->ShowWindow(SW_MINIMIZE);
else
ViewWin1->MoveWindow (rc.left, rc.top,rc.right,rc.bottom);
}
}
我将进入最大化或最小化的情况,但是什么也没有发生
相关文章:
- 如何使用Qt在新窗口中显示视频帧
- Qt5 C++将新窗口与Qt设计器链接
- 在SFML(C++)中启动一个新窗口
- Qt将鼠标移动事件转移到新窗口
- 在Clion的新窗口中创建一个新项目
- 如何在Qt中打开新窗口的情况下更改UI?
- 朱奇 - 制作一个新窗口
- 设置 VLC drawable-hwnd 仍会创建一个新窗口
- 运行 SFML 图形后看不到新窗口
- 如何在Mac上打开Carbon中的C++新窗口
- 在Qt中单击QTableView中行的特定单元格时,打开一个新窗口
- 具有控制台输出且没有新窗口的 Win32 应用程序
- C++输出信息到新窗口
- qwebview,如何确定此链接是否为新窗口
- 离开全屏后,QVideOwidget是新窗口
- CreateProcess( ) 不会创建一个带有CREATE_NEW_CONSOLE标志的新窗口 - C/C++
- Qt正在设置新窗口
- 使用SW_HIDE样式使浏览器打开新窗口
- 从窗口 QT 打开新窗口
- C++ WinApi 绘制图像.jpg到新窗口