mirror of
https://github.com/yuanyuanxiang/SimpleRemoter.git
synced 2026-01-22 07:14:15 +08:00
style: Change files encoding format to UTF8-BOM
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "afxdialogex.h"
|
||||
#include "CGridDialog.h"
|
||||
#include "Resource.h"
|
||||
@@ -38,7 +38,7 @@ BOOL CGridDialog::AddChild(CDialog* pDlg)
|
||||
pDlg->SetParent(this);
|
||||
pDlg->ShowWindow(SW_SHOW);
|
||||
|
||||
// ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
|
||||
// 去掉标题栏和调整大小
|
||||
LONG style = ::GetWindowLong(pDlg->GetSafeHwnd(), GWL_STYLE);
|
||||
style &= ~(WS_CAPTION | WS_THICKFRAME | WS_SIZEBOX | WS_BORDER);
|
||||
::SetWindowLong(pDlg->GetSafeHwnd(), GWL_STYLE, style);
|
||||
@@ -57,12 +57,12 @@ void CGridDialog::RemoveChild(CDialog* pDlg)
|
||||
(*it)->SetParent(nullptr);
|
||||
m_children.erase(it);
|
||||
|
||||
// ɾ<EFBFBD><EFBFBD> m_origState <EFBFBD>ж<EFBFBD>Ӧ<EFBFBD><EFBFBD>Ŀ
|
||||
// 删除 m_origState 中对应条目
|
||||
auto itState = m_origState.find(pDlg);
|
||||
if (itState != m_origState.end())
|
||||
m_origState.erase(itState);
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>رյ<EFBFBD><EFBFBD>Ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> m_pMaxChild
|
||||
// 如果关闭的子窗口是当前最大化窗口,重置 m_pMaxChild
|
||||
if (m_pMaxChild == pDlg)
|
||||
m_pMaxChild = nullptr;
|
||||
|
||||
@@ -80,7 +80,7 @@ LRESULT CGridDialog::OnChildClosed(WPARAM wParam, LPARAM lParam)
|
||||
void CGridDialog::LayoutChildren()
|
||||
{
|
||||
if (m_children.size() == 0) {
|
||||
// <EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 恢复父窗口标题栏
|
||||
if (m_parentStyle != 0) {
|
||||
::SetWindowLong(m_hWnd, GWL_STYLE, m_parentStyle);
|
||||
::SetWindowPos(m_hWnd, nullptr, 0, 0, 0, 0,
|
||||
@@ -105,7 +105,7 @@ void CGridDialog::LayoutChildren()
|
||||
int c = (int)i % m_cols;
|
||||
|
||||
if (r >= m_rows)
|
||||
break; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
|
||||
break; // 超过网格范围
|
||||
|
||||
int x = c * w;
|
||||
int y = r * h;
|
||||
@@ -122,7 +122,7 @@ void CGridDialog::OnSize(UINT nType, int cx, int cy)
|
||||
if (m_pMaxChild == nullptr) {
|
||||
LayoutChildren();
|
||||
} else {
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD>£<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><EFBFBD><EFBFBD>
|
||||
// 最大化状态下,保持铺满父对话框
|
||||
CRect rcClient;
|
||||
GetClientRect(&rcClient);
|
||||
m_pMaxChild->MoveWindow(rcClient, TRUE);
|
||||
@@ -131,9 +131,9 @@ void CGridDialog::OnSize(UINT nType, int cx, int cy)
|
||||
|
||||
void CGridDialog::OnLButtonDblClk(UINT nFlags, CPoint point)
|
||||
{
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD><EFBFBD>ڣ<EFBFBD>˫<EFBFBD><EFBFBD><EFBFBD>κεط<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>
|
||||
// 如果当前有最大化的子窗口,双击任何地方都恢复
|
||||
if (m_pMaxChild != nullptr) {
|
||||
// <EFBFBD>ָ<EFBFBD><EFBFBD>Ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
||||
// 恢复子窗口样式和位置
|
||||
for (auto& kv : m_origState) {
|
||||
CDialog* dlg = kv.first;
|
||||
const ChildState& state = kv.second;
|
||||
@@ -146,7 +146,7 @@ void CGridDialog::OnLButtonDblClk(UINT nFlags, CPoint point)
|
||||
dlg->ShowWindow(SW_SHOW);
|
||||
}
|
||||
|
||||
// <EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 恢复父窗口标题栏
|
||||
if (m_parentStyle != 0) {
|
||||
::SetWindowLong(m_hWnd, GWL_STYLE, m_parentStyle);
|
||||
::SetWindowPos(m_hWnd, nullptr, 0, 0, 0, 0,
|
||||
@@ -154,21 +154,21 @@ void CGridDialog::OnLButtonDblClk(UINT nFlags, CPoint point)
|
||||
m_parentStyle = 0;
|
||||
}
|
||||
|
||||
// ˢ<EFBFBD>¸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 刷新父窗口
|
||||
m_pMaxChild = nullptr;
|
||||
m_origState.clear();
|
||||
LayoutChildren();
|
||||
return; // <EFBFBD>Ѵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
return; // 已处理,返回
|
||||
}
|
||||
|
||||
// û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 没有最大化子窗口,则按原逻辑找到点击的子窗口进行最大化
|
||||
for (auto dlg : m_children) {
|
||||
CRect rc;
|
||||
dlg->GetWindowRect(&rc);
|
||||
ScreenToClient(&rc);
|
||||
|
||||
if (rc.PtInRect(point)) {
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD><EFBFBD><EFBFBD>ԭʼ״̬
|
||||
// 保存所有子窗口原始状态
|
||||
m_origState.clear();
|
||||
for (auto d : m_children) {
|
||||
ChildState state;
|
||||
@@ -178,14 +178,14 @@ void CGridDialog::OnLButtonDblClk(UINT nFlags, CPoint point)
|
||||
m_origState[d] = state;
|
||||
}
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD><EFBFBD><EFBFBD>
|
||||
// 最大化点击的子窗口
|
||||
LONG style = m_origState[dlg].style;
|
||||
style |= (WS_CAPTION | WS_THICKFRAME | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX);
|
||||
::SetWindowLong(dlg->GetSafeHwnd(), GWL_STYLE, style);
|
||||
::SetWindowPos(dlg->GetSafeHwnd(), nullptr, 0, 0, 0, 0,
|
||||
SWP_NOZORDER | SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED);
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 隐藏父窗口标题栏
|
||||
if (m_parentStyle == 0)
|
||||
m_parentStyle = ::GetWindowLong(m_hWnd, GWL_STYLE);
|
||||
LONG parentStyle = m_parentStyle & ~(WS_CAPTION | WS_THICKFRAME);
|
||||
@@ -193,13 +193,13 @@ void CGridDialog::OnLButtonDblClk(UINT nFlags, CPoint point)
|
||||
::SetWindowPos(m_hWnd, nullptr, 0, 0, 0, 0,
|
||||
SWP_NOZORDER | SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED);
|
||||
|
||||
// ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>Ӵ<EFBFBD><EFBFBD><EFBFBD>
|
||||
// 全屏显示子窗口
|
||||
CRect rcClient;
|
||||
GetClientRect(&rcClient);
|
||||
dlg->MoveWindow(rcClient, TRUE);
|
||||
m_pMaxChild = dlg;
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD><EFBFBD><EFBFBD>
|
||||
// 隐藏其他子窗口
|
||||
for (auto d : m_children)
|
||||
if (d != dlg) d->ShowWindow(SW_HIDE);
|
||||
|
||||
@@ -213,7 +213,7 @@ void CGridDialog::OnLButtonDblClk(UINT nFlags, CPoint point)
|
||||
BOOL CGridDialog::PreTranslateMessage(MSG* pMsg)
|
||||
{
|
||||
if (pMsg->wParam == VK_RETURN || pMsg->wParam == VK_ESCAPE) {
|
||||
return TRUE;// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Enter<EFBFBD><EFBFBD>ESC<EFBFBD>رնԻ<EFBFBD>
|
||||
return TRUE;// 屏蔽Enter和ESC关闭对话
|
||||
}
|
||||
return CDialog::PreTranslateMessage(pMsg);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user