zoukankan      html  css  js  c++  java
  • 在对话框上拖动按钮并移动该按钮(改写CXXButton::PreTranslateMessage,然后MoveWindow)

    [cpp] view plain copy
     
    1. // 派生自CButton类,主要过滤WM_LBUTTONDOWN 、WM_LBUTTONUP和WM_MOUSEMOVE消息。  
    2.   
    3. BOOL m_bFlag = FALSE; // 成员变量,用来标示鼠标是否按下, 初始化为FALSE  
    4. CPoint m_pt; // 成员变量,用来保存当前坐标值  
    5.   
    6. BOOL CXXButton::PreTranslateMessage(MSG* pMsg)   
    7. {  
    8.     // TODO: Add your specialized code here and/or call the base class  
    9.     switch(pMsg->message)  
    10.     {  
    11.     case WM_LBUTTONDOWN:  
    12.         {  
    13.             m_pt = pMsg->pt;  
    14.             m_bFlag = TRUE;  
    15.         }  
    16.         break;  
    17.   
    18.     case WM_LBUTTONUP:  
    19.         {  
    20.             m_bFlag = FALSE;  
    21.         }  
    22.         break;  
    23.   
    24.     case WM_MOUSEMOVE:  
    25.         {  
    26.             if(m_bFlag)  
    27.             {  
    28.                 int cx = pMsg->pt.x - m_pt.x;  
    29.                 int cy = pMsg->pt.y - m_pt.y;  
    30.   
    31.                 CRect rc;  
    32.                 GetWindowRect(&rc);  
    33.                 GetParent()->ScreenToClient(&rc);  
    34.                 int nWidth = rc.Width();  
    35.                 int nHeight = rc.Height();  
    36.   
    37.                 rc.left += cx;  
    38.                 rc.top += cy;  
    39.                 rc.right = rc.left + nWidth;  
    40.                 rc.bottom = rc.top + nHeight;  
    41.   
    42.                 MoveWindow(rc);  
    43.   
    44.                 m_pt = pMsg->pt;  
    45.             }  
    46.         }  
    47.         break;  
    48.   
    49.     default:  
    50.         break;  
    51.     }  
    52.     return CButton::PreTranslateMessage(pMsg);  
    53. }  
    http://blog.csdn.net/visualeleven/article/details/7177775
  • 相关阅读:
    《构建之法》阅读笔记02
    《构建之法》阅读笔记01
    学习进度
    “校园知网”端午假期冲刺计划书
    学习进度
    计算最长英语单词链
    第一周冲刺_周日总结
    构建之法阅读笔记03
    第一周冲刺_周六总结
    软件工程概论第十四周学习进度
  • 原文地址:https://www.cnblogs.com/findumars/p/6002441.html
Copyright © 2011-2022 走看看