PtInRect
计算机编程
包含两个版本:一个是MFC的C++版本、另一个是Windows API版本
基本概念
包含两个版本:一个是MFC的C++版本、另一个是Windows API版本
MFC
类CRect的成员函数,其作用是判断一个点是否在CRect中。
函数的原型如下:
Windows API
函数的原型为:
应用举例
在自绘窗口时,没有标题栏,此只点击客户区的顶端部分,也认为是标题栏 ,从来可以实现窗口的拖动。
LRESULT CClientDlg::OnNcHitTest(CPoint point)
{
// TODO: Add your message handler code here and/or call default
CRect rc;
GetClientRect(&rc); //客户区。
CRect rcArea; //客户区的顶部。
int iWidth = rc.Width()/2;
int iHeight=30;
rcArea.left = rc.Width()/2 -iWidth; //1-x
rcArea.top = rc.top; //1-y
rcArea.right = rc.Width()/2 +iWidth; //2-x
rcArea.bottom = rc.top + iHeight; //2-y
/* rcArea 示意图
left,top------------
| |
| |
-------------right,bottom
left,top是原点。
*/
ClientToScreen(&rcArea);
UINT utemp = rcArea.PtInRect(point) ? HTCAPTION : CDialog::OnNcHitTest(point); //判断此点是否在上述矩形区域内。
return rcArea.PtInRect(point) ? HTCAPTION : CDialog::OnNcHitTest(point);
}
参考资料
最新修订时间:2024-06-23 18:54
目录
概述
基本概念
参考资料