解决Duilib创建的win32窗口拖到屏幕上边缘自动最大化

转载:http://bbs.csdn.net/topics/390842294

使用Duilib创建窗口的时候,假如有这样一个需求:

1.窗口大小规定

2.不可拖拽改变窗口大小

3.双击标题栏禁止最大化

4.禁止拖拽窗口到屏幕上边沿最大化

针对以上四点,给出解决办法:

1.设置size="宽,高"

2.sizebox="0,0,0,0"

3.在HandleMessage中屏蔽掉WM_NCLBUTTONDBLCLK

1 case WM_NCLBUTTONDBLCLK:
2     //不做处理
3 {
4     return 0;
5 }
6 break;

4.要修改窗口风格

//修改窗口风格
    SetWindowLong(m_hWnd,GWL_STYLE,GetWindowLong(m_hWnd,GWL_STYLE) & ~WS_MAXIMIZEBOX & ~WS_THICKFRAME );

设置完成后:

时间: 2024-10-13 04:24:10

解决Duilib创建的win32窗口拖到屏幕上边缘自动最大化的相关文章

解决WIN32窗口不响应WM_LBUTTONDBLCLK消息

原文链接: http://www.cnblogs.com/xukaixiang/archive/2012/05/27/2520059.html 今天在做一个软件时,发现win32创建的窗体不能响应WM_LBUTTONDBLCLK消息.在一番谷歌百度之后,终于找到了解决方法:废话少说,言归正传. 窗体不响应WM_LBUTTONDBLCLK消息,只要在注册窗口类的时候在WNDCLASS的style成员加上CS_DBLCLKS风格就行了. 下面是几种CS风格: CS_HREDRAW:当窗体的宽度发生变

Win32窗口消息机制 x Android消息机制 x 异步执行

如果你开发过Win32窗口程序,那么当你看到android代码到处都有的mHandler.sendEmptyMessage和 private final Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case MSG_REPORT_PRIMARY_CLIP_CHANGED: reportPrimaryClipChanged(); }

nw.js FrameLess Window下的窗口拖拽与窗口大小控制

nw.js FrameLess Window下的窗口拖拽与窗口大小控制 很多时候,我们觉得系统的Frame框很难看,于是想自定义. 自定义Frame的第一步是在package.config文件中将frame选项设置为false. { "name": "1", "main": "index.html", "nodejs": true, "single-instance": false, &

使用C#解决部分Win8.1系统窗口每隔几秒失去焦点的问题

使用了Win8.1 With Update 1后,发现重启系统后,当前激活的窗口总是每隔几秒失去焦点,过0.5~1秒焦点回来,导致输入无法正常工作,严重影响使用心情和效率. 在网上找了很久,也没找到相应的解决办法,大多提供的是关闭计划任务中禁用阿里巴巴的自动更新任务(http://www.paopaoche.net/gonglue/21442.html).可是这个方法对我来说并不管用,而且那种是1小时运行一次,我的系统是每隔几秒就会出现一次. 忍受了1周,忍无可忍,于是决定自己解决. 窗口失去焦

win32窗口程序的过程

复习一下win32窗口程序 设计一个窗口类: 注册窗口类: 创建窗口: 显示及更新窗口. 消息循环,去获取消息: 窗口过程函数的消息响应. 设计窗口类: typedef struct _WNDCLASS { UINT style; //窗口类的类型 WNDPROC lpfnWndProc; //窗口过程函数(回调函数) int cbClsExtra; //为该类设定额外内存空间 int cbWndExtra; //为该窗口设定额外内存空间 HANDLE hInstance; //当前应用程序的实

第二章:创建框架和窗口

没有翻译第一章是因为第一章只介绍了如何设置IDE,这方面网上文章很多,我就没有翻译,直接从第二章开始. 下面是原文链接,翻译有不对的地方请朋友们指正. http://www.rastertek.com/gl40tut02.html Tutorial 2: Creating a Framework and Window This OpenGL 4.0 tutorial will cover setting up a basic frame work and window. 这一章涵盖了创建基本框架

VC++编程之第三课笔记——MFC窗口创建过程以及窗口类的封装

第三课 MFC窗口创建过程以及窗口类的封装 MFC的每一个类都是以C开头的,表明这是一个Class. 工程包含(单文档) 创建工程名为aaa的工程(单文档)时,在类视图中可看见五个类: CAboutDlg CMainFrame CAaaApp CAaaDoc CAaaView 其中: 类CAboutDlg继承自CDialog类,对话框的类 类CMainFrame继承自CFrameWnd类,创建整个程序的框架窗口 类CAaaApp继承自CWinApp类,创建唯一的应用程序对象 类CAaaDoc继承

解决jqueryeasyUI dialog 弹出窗口超出浏览器,导致不能关闭的bug

使用panel的onMove事件解决了panel,dialog以及window组件在被拖动时,会超出浏览器边界而无法拖回的情况. 当窗口被拖出浏览器有边界时,$(document).width();会增大,增大的部分就是窗口超过浏览器窗口的部分,所以right > browserWidth条件永远无法满足. 如果我们在思考得多一点,其实对于panel,dialog,window三个组件,我们往往要求的并不是它不能超出浏览器界限,而是要求它不能超出父元素界限,而且当父元素的overflow不是hi

Windows 10 应用创建模糊背景窗口的三种方法

原文 Windows 10 应用创建模糊背景窗口的三种方法 现代的操作系统中创建一张图片的高斯模糊效果非常容易,不过如果要在窗口中获得模糊支持就需要操作系统的原生支持了.iOS/Mac 和 Windows 系统都对此有支持. 本文将介绍三种创建模糊背景窗口的方法.有人可能喜欢称之为毛玻璃窗口.亚克力窗口. This post is written in multiple languages. Please select yours: 最早我是在 StackOverflow 上回答一位网友的提问时