窗口风格如何改变? 我建立了一个对话框程序,在资源中没有设置最大最小化按钮,请问:如何在对话框显示后添加最大最小化按钮? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我建立了一个对话框程序,在资源中没有设置最大最小化按钮,请问:如何在对话框显示后添加最大最小化按钮?ModifyStyle(0,WS_MAXIMIZEBOX|WS_MINIMIZEBOX,SWP_FRAMECHANGED) 顺便问一下,如何使属性对话框类创建的模式对话框有最大最小化按钮?并且有效?选上maxbox和minbox选项呗 ModifyStyle(0,WS_MAXIMIZEBOX|WS_MINIMIZEBOX,SWP_FRAMECHANGED)虽然可以添加最小和最大化按钮,但是按钮消息没有自动处理。选上maxbox和minbox选项呗用CPropertySheet创建的对话框中用到的资源没法设置maxbox和minbox选项 ModifyStyle(0,WS_MAXIMIZEBOX|WS_MINIMIZEBOX|WS_SYSMENU,SWP_FRAMECHANGED);试过可以。 可以加入PreCreateWindow虚函数,然后设置cs.style=……试试。 TO: kingcom_xu(杀不了人的刀,郁闷!) 我也想知道怎么为属性对话框类创建的模式对话框选上maxbox和minbox选项,^_^--------------------------------1.在你的头文件中的注释对//{{AFX_MSG(CDlgDlg)和//}}AFX_MSG串中添加 afx_msg void OnNcLButtonDown(INT nHitTest,CPoint point);2.在你的源文件中的宏对BEGIN_MESSAGE_MAP(CDlgDlg, CDialog)和 END_MESSAGE_MAP()添加 ON_WM_NCLBUTTONDOWN()3.在你的源文件中添加 void CDlgDlg::OnNcLButtonDown(INT nHitTest,CPoint point) 函数,这样就建立了响应WM_NCLBUTTONDOWN的消息映射4.添加一个私有变量BOOL bNormal;,在构造函数中初始化为FALSE。5. void CDlgDlg::OnNcLButtonDown(INT nHitTest,CPoint point)的内容为 void CDlgDlg::OnNcLButtonDown(INT nHitTest,CPoint point) { switch(nHitTest) { case HTMAXBUTTON: //当鼠标左键单击或双击最大化按钮 if(bNormal) //如果是正常显示状态 { ShowWindow(SW_MAXIMIZE); } else //如果已经是最大化 { ShowWindow(SW_RESTORE); } bNormal = ~bNormal; break; case HTMINBUTTON: //当鼠标左键单击或双击最小化按钮 ShowWindow(SW_MINIMIZE); break; }} 补充一下,你还要在你的BOOL CDlgDlg::OnInitDialog()中添加 ModifyStyle(0,WS_MAXIMIZEBOX|WS_MINIMIZEBOX,SWP_FRAMECHANGED); to:demetry(大松)你的方法太复杂。有没有简便一点的方法?同样的对话框我用模式和非模式分别调用的效果不同!模式时的最大最小化按钮按下无效,非模式时就可以!不知道两种模式的创建过程有什么不同? 不会吧,我上面的代码就是在模式对话框中测试通过的.你的程序是不是基于MFC的?还是你所说的对话框是后来创建的? 用你的方法可以,但是为什么直接调用ModifyStyle(0,WS_MAXIMIZEBOX|WS_MINIMIZEBOX,SWP_FRAMECHANGED);产生最大最小化按钮就没有用? 回复人: BlackRobot(黑色机甲) ( ) 信誉:100 2003-02-19 22:03:00 得分:0 用你的方法可以,但是为什么直接调用ModifyStyle(0,WS_MAXIMIZEBOX|WS_MINIMIZEBOX,SWP_FRAMECHANGED);产生最大最小化按钮就没有用?-----------------这个问题就得去问BILL GATES了^_^ 求助关于MFC中视图动态的创建与删除的方法 请教对话框控件问题:日期输入默认值修改,数据库问题:文本字段最大值修改 关于TRACE宏的使用 这是什么错误? 有个问题请教,VC里有没有什么函数,可以把double型转换成字符串型? 面对vc许多API函数,咋办呢! 请问vc中class view里面的Globals文件夹是用来装什么的啊 急,VC如何向WORD指定的坐标位置插入一个表格? 求助:vc里如何改变屏幕的分辨率? VC的编程理念与VB的最大区别是什么? 这个怎么拌?~~~~~~~~~~~~~~~~~ ODBC+ACCESS,如何创建一个新表??
虽然可以添加最小和最大化按钮,但是按钮消息没有自动处理。选上maxbox和minbox选项呗
用CPropertySheet创建的对话框中用到的资源没法设置maxbox和minbox选项
试过可以。
END_MESSAGE_MAP()添加 ON_WM_NCLBUTTONDOWN()3.在你的源文件中添加 void CDlgDlg::OnNcLButtonDown(INT nHitTest,CPoint point) 函数,这样就建立了响应WM_NCLBUTTONDOWN的消息映射4.添加一个私有变量BOOL bNormal;,在构造函数中初始化为FALSE。5. void CDlgDlg::OnNcLButtonDown(INT nHitTest,CPoint point)的内容为 void CDlgDlg::OnNcLButtonDown(INT nHitTest,CPoint point)
{
switch(nHitTest)
{
case HTMAXBUTTON: //当鼠标左键单击或双击最大化按钮
if(bNormal) //如果是正常显示状态
{
ShowWindow(SW_MAXIMIZE);
}
else //如果已经是最大化
{
ShowWindow(SW_RESTORE);
}
bNormal = ~bNormal;
break;
case HTMINBUTTON: //当鼠标左键单击或双击最小化按钮
ShowWindow(SW_MINIMIZE);
break;
}
}
ModifyStyle(0,WS_MAXIMIZEBOX|WS_MINIMIZEBOX,SWP_FRAMECHANGED);
你的方法太复杂。有没有简便一点的方法?
同样的对话框我用模式和非模式分别调用的效果不同!模式时的最大最小化按钮按下无效,非模式时就可以!不知道两种模式的创建过程有什么不同?
ModifyStyle(0,WS_MAXIMIZEBOX|WS_MINIMIZEBOX,SWP_FRAMECHANGED);
产生最大最小化按钮就没有用?
用你的方法可以,但是为什么直接调用
ModifyStyle(0,WS_MAXIMIZEBOX|WS_MINIMIZEBOX,SWP_FRAMECHANGED);
产生最大最小化按钮就没有用?
-----------------
这个问题就得去问BILL GATES了^_^