如何在按最大化按钮的时候不让窗口最大化,而是让窗口卷起 老兄,这是Windows,不是Mac PC。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我知道是 Windows 不是 Mac PC,但是我需要这样的效果,总应该有办法做吧? 好好把linux的研究一下,对你的想法有帮助:) 关 Linux 什么事?去研究 Linux 岂不是找事干 接着我的想法再乱想一次,你可以用HOOK来做这个事,如HOOK窗体消息,当然是用API来做, 我希望能提供一些具体的技术细节,因为我是 C# 初学者,对很多较深层的东西都不清楚,现在我都还不知道如何使用 C# 调 API pvistely(云) :form本身提供wndhookiamfancy(边城狂人):用intropservice加dllimport可以调用api关于楼顶的问题1 截获mouse event,发现是按最大化,就设个标志2 Validating event的传入参数里面有个不继续validate的可以设一下 anamnesis(化神奇为腐朽) 可否说得具体一些,最好能有代码示例(楼顶的问题)。 你要是只是不想让窗口客户区出现设置窗口的最大尺寸就可以了或者把最大化按钮disable anamnesis(化神奇为腐朽) 好象没有wndhook啊,我只找到一个wndproc 把最大化按钮 Disable 了也可以,但是我需要在标题栏做一个按钮来控制窗口的卷起啊,你可以告诉我如何在标题栏添加一个按钮吗? 感谢您使用微软产品。可以通过重载WndProc方法,捕获SC_MAXMIZE消息,然后执行自定义的操作。如下提供一段示例代码,供您参考: public const int SC_MAXMIZE = 61488;…… protected override void WndProc(ref Message m) { if(m.WParam.ToInt32() == SC_MAXMIZE) this.Height = 0; else base.WndProc(ref m); }— 微软全球技术中心 VB支持中心本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。 在标题栏添加一个按钮我也不会不知道用ownerdraw是否可以那个wndproc就是做hook的 最简单的方法:设置form的 maxsize 属性即可maxsize.x = 1024maxsize.y = 600显示器分辨率为 1024*768则按最大化按钮后 form卷起!!! 重载private void ChangePassword_MaximumSizeChanged(object sender, System.EventArgs e) { }函数! acptvb(微软全球技术中心 VB技术支持) 谢谢你的回复,但问题并没有得到解决。我将你写的那段代码加入程序后,似乎并没有捕捉到 SC_MAXMIZE 消息。我看了消息的值,的确是 61488 (0xF030),希望得你再次帮助。 acptvb(微软全球技术中心 VB技术支持)谢谢,问题已经解决了,原来最大化按钮是消息是 61488, 而双击标题栏的消息是 61490,谢谢! anamnesis(化神奇为腐朽),用你的办法,窗口将不能变得更大,在需要变得更大的时候会有麻烦的。不过谢谢你。至少你告诉了我如何使用 DLL iis中部署的.net网站,最近几天打开网页一直都很慢,不知道什么原因,求高手指点 获取USB视频..只剩下3天时间了 压缩问题啊,高手进啊 Invalidate触发paint事件,但是想保存前一步的成果 求一个 C# 实例教程 局域网,通过安装客户端执行程序,读取服务器某目录下的ini文件?? 怎样进行编码转换(从txt到UTF-8) 用c#给二维数组赋值,急急急!!! 高难sql查询语句,与分组统计有关,请各位帮忙 委托的不解,请指点 怎么textBox控件不可以使用 \n,\r等语句?????? 我没有学过c++,要学c#有困难吗?
iamfancy(边城狂人):用intropservice加dllimport可以调用api
关于楼顶的问题
1 截获mouse event,发现是按最大化,就设个标志
2 Validating event的传入参数里面有个不继续validate的可以设一下
可否说得具体一些,最好能有代码示例(楼顶的问题)。
设置窗口的最大尺寸就可以了
或者把最大化按钮disable
如下提供一段示例代码,供您参考:
public const int SC_MAXMIZE = 61488;
……
protected override void WndProc(ref Message m)
{
if(m.WParam.ToInt32() == SC_MAXMIZE)
this.Height = 0;
else
base.WndProc(ref m);
}— 微软全球技术中心 VB支持中心本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
不知道用ownerdraw是否可以
那个wndproc就是做hook的
{ }
函数!
谢谢你的回复,但问题并没有得到解决。我将你写的那段代码加入程序后,似乎并没有捕捉到 SC_MAXMIZE 消息。我看了消息的值,的确是 61488 (0xF030),希望得你再次帮助。
谢谢,问题已经解决了,原来最大化按钮是消息是 61488, 而双击标题栏的消息是 61490,谢谢!