为什么不起作用!菜鸟请教==>>

horisly 2005-02-27 07:08:35
我的是基于对话框程序,该对话框上没有最大和最小按钮
我重载了 PreCreateWindow(),想用代码给它添加最小按钮,可是却没有起作用

BOOL CTestDlgDlg::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Add your specialized code here and/or call the base class
cs.style &= WS_MINIMIZEBOX ;
return CDialog::PreCreateWindow(cs);
}

为什么呢?
...全文
105 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Featured 2005-03-03
  • 打赏
  • 举报
回复
同意楼上的二位
lsvine 2005-03-02
  • 打赏
  • 举报
回复
OnInitDialog()中
ModifyStyle

试过了,这个方法可以。

PreCreateWindow(CREATESTRUCT& cs)的调用在Create中。
frame、view用这种方法设置可以。

我在多次跟踪后发现,frame、view在创建时调用PreCreateWindow(CREATESTRUCT& cs)
而Dialog的各种Create函数都不调用。
MSDN的说明也是用frame、view举的例子。

so,Dialog只能用ModifyStyle设置。 :(
fanqing 2005-02-28
  • 打赏
  • 举报
回复
OnInitDialog()中
ModifyStyle
lsvine 2005-02-28
  • 打赏
  • 举报
回复
cs.style &= WS_MINIMIZEBOX ;
应该为
cs.style |=WS_MINIMIZEBOX ;

我也这么认为。
horisly 2005-02-27
  • 打赏
  • 举报
回复
to:
回复人: hiiiiiijiang() ( ) 信誉:105
----------------------------------------
不是啊,应该是cs.style &= WS_MINIMIZEBOX ;吧
而且我试过你的也不行
hiiiiiijiang 2005-02-27
  • 打赏
  • 举报
回复
cs.style &= WS_MINIMIZEBOX ;
应该为
cs.style |=WS_MINIMIZEBOX ;
horisly 2005-02-27
  • 打赏
  • 举报
回复
另外,请问是那个函数调用了PreCreateWindow?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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