Duilib界面拖动问题

  • Duilib界面需要通过全窗口来拖动窗口位置时,可以在OnNcHitTest函数中通过以下代码实现,也不影响其他控件的使用:

        POINT pt; pt.x = GET_X_LPARAM(lParam); pt.y = GET_Y_LPARAM(lParam);
        ::ScreenToClient(*this, &pt);
    
        RECT rcClient;
        ::GetClientRect(*this, &rcClient);
        RECT rcCaption = m_pm.GetCaptionRect();
        if (pt.x >= rcClient.left && pt.x < rcClient.right && pt.y >= rcClient.top && pt.y < rcClient.bottom) {
            CControlUI* pControl = static_cast<CControlUI*>(m_pm.FindControl(pt));
            if (pControl && _tcscmp(pControl->GetClass(), DUI_CTR_BUTTON) != 0 &&
                _tcscmp(pControl->GetClass(), DUI_CTR_OPTION) != 0 &&
                _tcscmp(pControl->GetClass(), DUI_CTR_TEXT) != 0)
                return HTCAPTION;
        }
    
        return HTCLIENT;
时间: 2024-08-29 21:25:30

Duilib界面拖动问题的相关文章

Android 仿 窗帘效果 和 登录界面拖动效果 (Scroller类的应用) 附 2个DEMO及源代码

在android学习中,动作交互是软件中重要的一部分.当中的Scroller就是提供了拖动效果的类,在网上.比方说一些Launcher实现滑屏都能够通过这个类去实现.以下要说的就是上次Scroller类学习的后的实践了. 假设你还不了解Scroller类,那请先点击:Android 界面滑动实现---Scroller类 从源代码和开发文档中学习(让你的布局动起来) 了解之后再阅读下面内容.你会发现原来实现起来非常easy. 之前说到过.在广泛使用的側边滑动导航开源库 --SlidingLayer

Android 仿 窗帘效果 和 登录界面拖动效果 (Scroller类的应用) 附 2个DEMO及源码

在android学习中,动作交互是软件中重要的一部分,其中的Scroller就是提供了拖动效果的类,在网上,比如说一些Launcher实现滑屏都可以通过这个类去实现.下面要说的就是上次Scroller类学习的后的实践了. 如果你还不了解Scroller类,那请先点击:Android 界面滑动实现---Scroller类 从源码和开发文档中学习(让你的布局动起来) 了解之后再阅读以下内容,你会发现原来实现起来很简单. 之前说到过,在广泛使用的侧边滑动导航开源库 --SlidingLayer其实就是

在VC6.0中能不能使用Duilib界面库呢?

Duilib库的源代码是在vs2010下编译的,一般适用于vs2008及以上的版本开发使用,那么duilib能不能在vc6.0的工程中使用呢?如何在vc6.0中使用duilib库呢? 今天,由于工作要求,需要在vc6.0下使用duilib库,百度了很久,未果,所以自己来尝试了一下! 1.在vc6.0中,新建一个MFC对话框工程,我用的是mfc对话框,习惯这么用. 2.将Duilib头文件及lib引用库拷贝到工程目录,引用进去. 3.新建duidlg类,这个类是自己定义的,对应这duilib里的窗

duilib 界面库 实现timer定时器

看了大神介绍的duilib感觉已被同龄人狠狠地甩在背后.所以痛下决心,之后要多花时间写代码. 大神教程传送门: http://www.cnblogs.com/Alberl/p/3341956.html 现在的问题是想基于duilib实现一个timer定时器.工程基础大概是在 http://www.cnblogs.com/Alberl/p/3343763.html 因为自己的东西是基于大神的东西写的,所以要把大神的教程看得差不多才知道我在说什么.O(∩_∩)O~~ 前台大概长这个样子: 稍微修改了

DUILIB 界面基本知识

normalimage="file='btn_open_mini.png' source='0,0,24,18'" source : 1. 一张图片包含四种状态 2. normal image 截取'btn_open_mini.png'图片当中left, top ,right, bottom,[0,0,24,18]的区域,也就是第一种状态 hotimage="file='btn_open_mini.png' source='25,0,49,18'" 3. hot i

【转】VS2013 C#WinForm程序构造界面拖动控件NumericUpDown时&quot;未响应“是有道词典惹的祸

很久之前遇到过因为金山词霸和其他软件冲突导致的程序无响应的情况. 没想到今天情况重现,VS2013在可视化编辑NumbericUpDown控件的时候,又出现了”未响应“,发现又是有道词典惹的祸. 可见屏幕取词功能还是应该好好研究的,希望微软和有道之间能协调解决一下!!! 转自:http://blog.csdn.net/smstong/article/details/21018529

DuiLib DirectUI 界面库

国内首个开源 的directui 界面库,开放,共享,惠众,共赢,遵循bsd协议,可以免费用于商业项目,目前支持Windows 32 .Window CE.Mobile等平台. Duilib 是一款强大的界面开发工具,可以将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率.提供所见即所得的开发工具UIDesigner.使用DirectUI后将使得我们的设计人员彻底解 放,不会受到开发的束缚,可以充分地发挥其设计能力来设计软件界面,并参与到用户界面开发过程中. Duilib 目前支持Win

定制炫彩界面:duilib与MFC 的对比

duilib是以DirectUI为技术原理开发的一款轻量级Windows桌面UI库,使用XML来描述界面风格,界面布局,可以很方便的构建高效,绚丽的,非常易于扩展的界面.从而很好的将界面和逻辑分离,同时易于实现各种超炫的界面效果如换色,换肤,透明等. Duilib界面库的出现解决了使用传统MFC界面库开发软件不美观.界面细节处理不好.使用硬编码.开发效率低下.生成程序体积大等问题.而且传统MFC界面美化库大都使用HOOK等对系统影响比较大的技术,可能会导致系统不稳定或者引发其他错误.而Duili

duilib入门问题集

问:如何把资源放入zip?答: 先SetResourcePath设置资源目录,再SetResourceZip设置压缩资源文件名 问:如何设置窗体的初始化大小?答:设置XML文件的Window标签的size属性. 问:如何设置鼠标可拖动窗体的范围大小?答:设置XML文件的Window标签的caption属性. 问:如何设置窗体可以通过拖动边缘改变大小?答:在窗体创建函数的第三个参数设置为UI_WNDSTYLE_FRAME才可响应拖动改变大小,和双击标题事件. 问:为何鼠标移动到边缘没有改变窗体大小