18 个解决方案
#1
ModifyStyle
ModifyStyleEx
ModifyStyleEx
#2
BOOL CMyChildWnd::PreCreateWindow(CREATESTRUCT& cs)
{
// Create a child window without the maximize button
cs.style &= ~WS_MAXIMIZEBOX;
cs.style &= ~WS_MINIMIZEBOX;
// Call the base-class version
return CMDIChildWnd::PreCreateWindow(cs);
}
{
// Create a child window without the maximize button
cs.style &= ~WS_MAXIMIZEBOX;
cs.style &= ~WS_MINIMIZEBOX;
// Call the base-class version
return CMDIChildWnd::PreCreateWindow(cs);
}
#3
PreCreateWindow里面添加
cs.style &= ~WS_MINIMIZEBOX;
cs.style &= ~WS_MAXIMIZEBOX;
cs.style &= ~WS_MINIMIZEBOX;
cs.style &= ~WS_MAXIMIZEBOX;
#4
谢谢,我知道这个代码,但我的原意是想让子窗口一开始就最大化,然后最小化和最大化按钮(包括还原按钮)都失效,只剩一个关闭按钮!
但是执行上面的代码后,还原按钮还是有效的,按了后就会出现某些我不愿发生的小问题,所以我想把最小化、最大化和还原按钮都去掉!
还有什么办法吗?
但是执行上面的代码后,还原按钮还是有效的,按了后就会出现某些我不愿发生的小问题,所以我想把最小化、最大化和还原按钮都去掉!
还有什么办法吗?
#5
关注一下~
#6
改变其风格
#7
自己画客户区,只画出关闭按钮
#8
sorry,是自己画非客户区,在ncpaint里做,然后再lbuttondown里判断鼠标落下的位置,检查是否落在关闭按钮的区域,完成关闭的动作。
#9
自己画客户区,只画出关闭按钮
只有这个办法吗?
只有这个办法吗?
#10
解决办法:
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
if( !CBCGPMDIChildWnd::PreCreateWindow(cs) )
return FALSE;
cs.style = WS_CHILD | WS_VISIBLE | WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU
| FWS_ADDTOTITLE | WS_THICKFRAME;
return TRUE;
}
void CChildFrame::ActivateFrame(int nCmdShow)
{
// TODO: Modify this function to change how the frame is activated.
nCmdShow = SW_SHOWMAXIMIZED;
CBCGPMDIChildWnd::ActivateFrame(nCmdShow);
}
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
if( !CBCGPMDIChildWnd::PreCreateWindow(cs) )
return FALSE;
cs.style = WS_CHILD | WS_VISIBLE | WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU
| FWS_ADDTOTITLE | WS_THICKFRAME;
return TRUE;
}
void CChildFrame::ActivateFrame(int nCmdShow)
{
// TODO: Modify this function to change how the frame is activated.
nCmdShow = SW_SHOWMAXIMIZED;
CBCGPMDIChildWnd::ActivateFrame(nCmdShow);
}
#11
WS_MINIMIZEBOX|WS_MAXIMIZEBOX
#12
关键是在子窗口最大化的情况下去掉最小化和最大化按钮。
#13
关注
#14
getiteasy(孤蚁)
关键是在子窗口最大化的情况下去掉最小化和最大化按钮。
我也是这个问题,所以帮你up一下!呵呵
关键是在子窗口最大化的情况下去掉最小化和最大化按钮。
我也是这个问题,所以帮你up一下!呵呵
#15
BOOL CXXXApp::InitInstance()
{ ....
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED );
....
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style &= ~WS_MAXIMIZEBOX;
cs.style &= ~WS_MINIMIZEBOX;
return TRUE;
}
{ ....
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED );
....
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style &= ~WS_MAXIMIZEBOX;
cs.style &= ~WS_MINIMIZEBOX;
return TRUE;
}
#16
晕啊,看上面,已经解决了啊!
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CMDIChildWnd::PreCreateWindow(cs) )
return FALSE;
cs.style = WS_CHILD | WS_VISIBLE | WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU| FWS_ADDTOTITLE | WS_THICKFRAME;
return TRUE;
}
void CChildFrame::ActivateFrame(int nCmdShow)
{
nCmdShow = SW_SHOWMAXIMIZED;
CMDIChildWnd::ActivateFrame(nCmdShow);
}
还是谢谢大家!
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CMDIChildWnd::PreCreateWindow(cs) )
return FALSE;
cs.style = WS_CHILD | WS_VISIBLE | WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU| FWS_ADDTOTITLE | WS_THICKFRAME;
return TRUE;
}
void CChildFrame::ActivateFrame(int nCmdShow)
{
nCmdShow = SW_SHOWMAXIMIZED;
CMDIChildWnd::ActivateFrame(nCmdShow);
}
还是谢谢大家!
#17
ActivateFrame是CFrameWnd的函数;要是在cview中怎么实现?
#18
FT~!知道了,嘿嘿,不好意思啊~!
#1
ModifyStyle
ModifyStyleEx
ModifyStyleEx
#2
BOOL CMyChildWnd::PreCreateWindow(CREATESTRUCT& cs)
{
// Create a child window without the maximize button
cs.style &= ~WS_MAXIMIZEBOX;
cs.style &= ~WS_MINIMIZEBOX;
// Call the base-class version
return CMDIChildWnd::PreCreateWindow(cs);
}
{
// Create a child window without the maximize button
cs.style &= ~WS_MAXIMIZEBOX;
cs.style &= ~WS_MINIMIZEBOX;
// Call the base-class version
return CMDIChildWnd::PreCreateWindow(cs);
}
#3
PreCreateWindow里面添加
cs.style &= ~WS_MINIMIZEBOX;
cs.style &= ~WS_MAXIMIZEBOX;
cs.style &= ~WS_MINIMIZEBOX;
cs.style &= ~WS_MAXIMIZEBOX;
#4
谢谢,我知道这个代码,但我的原意是想让子窗口一开始就最大化,然后最小化和最大化按钮(包括还原按钮)都失效,只剩一个关闭按钮!
但是执行上面的代码后,还原按钮还是有效的,按了后就会出现某些我不愿发生的小问题,所以我想把最小化、最大化和还原按钮都去掉!
还有什么办法吗?
但是执行上面的代码后,还原按钮还是有效的,按了后就会出现某些我不愿发生的小问题,所以我想把最小化、最大化和还原按钮都去掉!
还有什么办法吗?
#5
关注一下~
#6
改变其风格
#7
自己画客户区,只画出关闭按钮
#8
sorry,是自己画非客户区,在ncpaint里做,然后再lbuttondown里判断鼠标落下的位置,检查是否落在关闭按钮的区域,完成关闭的动作。
#9
自己画客户区,只画出关闭按钮
只有这个办法吗?
只有这个办法吗?
#10
解决办法:
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
if( !CBCGPMDIChildWnd::PreCreateWindow(cs) )
return FALSE;
cs.style = WS_CHILD | WS_VISIBLE | WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU
| FWS_ADDTOTITLE | WS_THICKFRAME;
return TRUE;
}
void CChildFrame::ActivateFrame(int nCmdShow)
{
// TODO: Modify this function to change how the frame is activated.
nCmdShow = SW_SHOWMAXIMIZED;
CBCGPMDIChildWnd::ActivateFrame(nCmdShow);
}
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
if( !CBCGPMDIChildWnd::PreCreateWindow(cs) )
return FALSE;
cs.style = WS_CHILD | WS_VISIBLE | WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU
| FWS_ADDTOTITLE | WS_THICKFRAME;
return TRUE;
}
void CChildFrame::ActivateFrame(int nCmdShow)
{
// TODO: Modify this function to change how the frame is activated.
nCmdShow = SW_SHOWMAXIMIZED;
CBCGPMDIChildWnd::ActivateFrame(nCmdShow);
}
#11
WS_MINIMIZEBOX|WS_MAXIMIZEBOX
#12
关键是在子窗口最大化的情况下去掉最小化和最大化按钮。
#13
关注
#14
getiteasy(孤蚁)
关键是在子窗口最大化的情况下去掉最小化和最大化按钮。
我也是这个问题,所以帮你up一下!呵呵
关键是在子窗口最大化的情况下去掉最小化和最大化按钮。
我也是这个问题,所以帮你up一下!呵呵
#15
BOOL CXXXApp::InitInstance()
{ ....
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED );
....
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style &= ~WS_MAXIMIZEBOX;
cs.style &= ~WS_MINIMIZEBOX;
return TRUE;
}
{ ....
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED );
....
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style &= ~WS_MAXIMIZEBOX;
cs.style &= ~WS_MINIMIZEBOX;
return TRUE;
}
#16
晕啊,看上面,已经解决了啊!
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CMDIChildWnd::PreCreateWindow(cs) )
return FALSE;
cs.style = WS_CHILD | WS_VISIBLE | WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU| FWS_ADDTOTITLE | WS_THICKFRAME;
return TRUE;
}
void CChildFrame::ActivateFrame(int nCmdShow)
{
nCmdShow = SW_SHOWMAXIMIZED;
CMDIChildWnd::ActivateFrame(nCmdShow);
}
还是谢谢大家!
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CMDIChildWnd::PreCreateWindow(cs) )
return FALSE;
cs.style = WS_CHILD | WS_VISIBLE | WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU| FWS_ADDTOTITLE | WS_THICKFRAME;
return TRUE;
}
void CChildFrame::ActivateFrame(int nCmdShow)
{
nCmdShow = SW_SHOWMAXIMIZED;
CMDIChildWnd::ActivateFrame(nCmdShow);
}
还是谢谢大家!
#17
ActivateFrame是CFrameWnd的函数;要是在cview中怎么实现?
#18
FT~!知道了,嘿嘿,不好意思啊~!