在对话框中运行这段函数,为何无效?

xiaobinliu 2001-05-10 01:07:00
BOOL CWndMain::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Add your specialized code here and/or call the base class
if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs

cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
cs.style &= ~WS_MAXIMIZEBOX; //禁止窗口最大化
cs.style &= ~WS_MINIMIZEBOX; //禁止窗口最小化
// cs.style &= ~WS_SYSMENU; //取消Title上的按钮
cs.style &= ~WS_THICKFRAME;//使窗口不能用鼠标改变大小
cs.lpszClass = AfxRegisterWndClass(0);
return TRUE;
}
我实现禁止对话框最大,最小,可是不起作用
...全文
159 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
duz 2001-05-13
  • 打赏
  • 举报
回复
连举一反三都不会,xianglusong(boy)实在是对牛弹琴了
向陆松 2001-05-13
  • 打赏
  • 举报
回复
我也没有办法啊。
向陆松 2001-05-12
  • 打赏
  • 举报
回复
搞错了,是WS_MINIMIZEBOX
不好意思啊。
111222 2001-05-12
  • 打赏
  • 举报
回复
我说你把对话矿设置成 ex_tool..属性把最大化最小化按钮去掉算了。
在资源编辑里改属性就行了。
向陆松 2001-05-12
  • 打赏
  • 举报
回复
去掉最小化按钮再加上
winlong&=~SW_MINIMIZE;
其它的我看看吧。
xiaobinliu 2001-05-10
  • 打赏
  • 举报
回复
还没有解决,继续回答问题,帮我啦,^_^
gamepolice 2001-05-10
  • 打赏
  • 举报
回复
BOOL CSuccessDlg::PreCreateWindow(CREATESTRUCT &cs)
{
//cs.style &=~WS_MAXIMIZE;
//return CWnd::PreCreateWindow(cs);
//return true;

cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
cs.style &= ~WS_MAXIMIZEBOX; //禁止窗口最大化
cs.style &= ~WS_MINIMIZEBOX; //禁止窗口最小化
// cs.style &= ~WS_SYSMENU; //取消Title上的按钮
cs.style &= ~WS_THICKFRAME;//使窗口不能用鼠标改变大小
cs.lpszClass = AfxRegisterWndClass(0);

if( !CDialog::PreCreateWindow(cs) ){
return FALSE;
}

return TRUE;
}
xiaobinliu 2001-05-10
  • 打赏
  • 举报
回复
教我啊
xiaobinliu 2001-05-10
  • 打赏
  • 举报
回复
教我啊
xiaobinliu 2001-05-10
  • 打赏
  • 举报
回复
加入这段代码后:最大话按钮被去掉了,可是,最小化还在,而且窗体还可以改变大小。
long winlong=::GetWindowLong (this->m_hWnd ,GWL_STYLE);
winlong&=~WS_MAXIMIZEBOX;
::SetWindowLong (this->m_hWnd ,GWL_STYLE,winlong);
我想拖动窗体边框时,窗体大小不被改变
向陆松 2001-05-10
  • 打赏
  • 举报
回复
把下面这段代码放入OnInitDialog()中,就行。
long winlong=::GetWindowLong (this->m_hWnd ,GWL_STYLE);
winlong&=~WS_MAXIMIZEBOX;
::SetWindowLong (this->m_hWnd ,GWL_STYLE,winlong);
echowoowoo 2001-05-10
  • 打赏
  • 举报
回复
呜呜,我是要在程序里实现啊,怎么办:怎么办?
mountlin 2001-05-10
  • 打赏
  • 举报
回复
对话框属性资源里不是有的吗?Minimize box/Maximize box……,沟掉就没了
mountlin 2001-05-10
  • 打赏
  • 举报
回复
模式对话框是由CDialog::CreateDlgIndirect创建的,不会调用PreCreateWindow的!建议改成无模式试试!
xiaobinliu 2001-05-10
  • 打赏
  • 举报
回复
现在这个代码也没有作用
BOOL CSuccessDlg::PreCreateWindow(CREATESTRUCT &cs)
{
//cs.style &=~WS_MAXIMIZE;
//return CWnd::PreCreateWindow(cs);
//return true;

cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
cs.style &= ~WS_MAXIMIZEBOX; //禁止窗口最大化
cs.style &= ~WS_MINIMIZEBOX; //禁止窗口最小化
// cs.style &= ~WS_SYSMENU; //取消Title上的按钮
cs.style &= ~WS_THICKFRAME;//使窗口不能用鼠标改变大小
cs.lpszClass = AfxRegisterWndClass(0);
return TRUE;
if( !CDialog::PreCreateWindow(cs) ){
return FALSE;
}
}
xiaobinliu 2001-05-10
  • 打赏
  • 举报
回复
请教:
那,我该如何实现禁止对话框最大,最小
In355Hz 2001-05-10
  • 打赏
  • 举报
回复
对话框创建时不调用PreCreateWindow函数的...
ginkgoboy 2001-05-10
  • 打赏
  • 举报
回复
不能注释
放到return TRUE前面
xiaobinliu 2001-05-10
  • 打赏
  • 举报
回复
我把它注释掉了,还是没有效果
ginkgoboy 2001-05-10
  • 打赏
  • 举报
回复

这句话
if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE;
放到return TRUE前面

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧