zoukankan      html  css  js  c++  java
  • C++ 无边框的拖动窗口代码

    按下鼠标时,记录下鼠标在窗体上的坐标, 同时用一个BOOL变量记录下鼠标左键按下的状态

    弹起左键,则记录状态的布尔变量为FALSE.

    处理鼠标移动事件,如果左键同时按下,则为鼠标拖动窗体运动,设置窗体新的左上角坐标。

    view plaincopy to clipboardprint?
    ·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······15001.void CNoBorderFormDlg::OnMouseMove(UINT nFlags, CPoint point) 

        // TODO: 在此添加消息处理程序代码和/或调用默认值 
     
        CDialog::OnMouseMove(nFlags, point); 
        if (this->_leftButtonDown) 
        { 
           /// 鼠标左键按下时,可以拖动窗体 
            CPoint pointChanged = point - (this->_mousePoint); 
            RECT rect; 
            this->GetWindowRect(&rect); 
            this->SetWindowPos(NULL, rect.left pointChanged.x, rect.top pointChanged.y, 0, 0, SWP_NOSIZE); 
        } 

    void CNoBorderFormDlg::OnLButtonDown(UINT nFlags, CPoint point) 

        // TODO: 在此添加消息处理程序代码和/或调用默认值 

        CDialog::OnLButtonDown(nFlags, point); 
        this->_leftButtonDown = TRUE; 
        this->_mousePoint = CPoint(point); 

     
    void CNoBorderFormDlg::OnLButtonUp(UINT nFlags, CPoint point) 

       // TODO: 在此添加消息处理程序代码和/或调用默认值 
     
        CDialog::OnLButtonUp(nFlags, point); 
        this->_leftButtonDown = FALSE; 

     
    void CNoBorderFormDlg::OnMouseLeave() 

        // TODO: 在此添加消息处理程序代码和/或调用默认值 
        CDialog::OnMouseLeave(); 
        this->_leftButtonDown = FALSE; 
    }

  • 相关阅读:
    利用JavaScript制作网页中“选项卡”效果。 (二)
    Threading and UI
    我不太喜欢的一篇文章: [真爱无言]
    坚持,习惯,自然
    6行代码实现无组建上传(转)
    【转帖】20个你未必知道的CSS技巧
    CSS Filter 代替 图片 实现 渐变背景效果。
    Microsoft Excelに...
    ATM机的故事
    利用JavaScript制作网页中“选项卡”效果。 (三)——终极应用 JavaScript tabifier
  • 原文地址:https://www.cnblogs.com/zhaoxinshanwei/p/4052893.html
Copyright © 2011-2022 走看看