| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1730 人关注过本帖
标题:按钮怎么不隐藏???????
只看楼主 加入收藏
MQKt
Rank: 2
等 级:论坛游民
帖 子:235
专家分:20
注 册:2006-6-29
结帖率:100%
收藏
 问题点数:0 回复次数:6 
按钮怎么不隐藏???????
void CTEXTDLG::OnMouseMove(UINT nFlags, CPoint point)
{
    // TODO: Add your message handler code here and/or call default
    CPoint   pt;
    CRect rect;
    GetCursorPos(&pt);
    m_btn1.GetWindowRect(&rect);
    //m_btn2.GetWindowRect(&rect2);
    if(rect.PtInRect(pt))
    {
        m_btn1.ShowWindow(SW_HIDE);
        m_btn2.ShowWindow(SW_SHOW);
    }
    else
    {
        m_btn1.ShowWindow(SW_SHOW);
        m_btn2.ShowWindow(SW_HIDE);
    }
    CDialog::OnMouseMove(nFlags, point);
}
为什么在鼠标放到btn1上的时候该按钮不会隐藏???????
搜索更多相关主题的帖子: 按钮 rect SHOW HIDE CPoint 
2008-07-06 17:01
Arcticanimal
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:341
专家分:20
注 册:2007-3-17
收藏
得分:0 
WM_MOUSEMOVE 消息附带的坐标是相对坐标
但是GetWindowRect()并不能得到子窗口相对于父窗口的位置, 要得到子窗口的相对位置,或者自己计算或者用GetWindowRgnBox/GetWindowRgn+GetRgnBox

此外, 如果没有调用SetCapture捕捉鼠标,WM_MOUSEMOVE仅仅会投递给当前鼠标下面的窗口, 也就是说父窗口根本不会收到子窗口上的WM_MOUSEMOVE消息

try new catch
2008-07-06 22:47
MQKt
Rank: 2
等 级:论坛游民
帖 子:235
专家分:20
注 册:2006-6-29
收藏
得分:0 
多谢指点!

2008-07-07 19:04
missiyou
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:531
专家分:218
注 册:2007-10-9
收藏
得分:0 
一个问题没解决,按钮句柄不对。
2008-07-08 17:53
MQKt
Rank: 2
等 级:论坛游民
帖 子:235
专家分:20
注 册:2006-6-29
收藏
得分:0 
能帮我实现这个功能吗?

2008-07-08 19:18
missiyou
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:531
专家分:218
注 册:2007-10-9
收藏
得分:0 
有个函数 通过位置来获得句柄 WindowFromPointer(XY位置)v好像是这个,你在查查吧
2008-07-09 20:32
MQKt
Rank: 2
等 级:论坛游民
帖 子:235
专家分:20
注 册:2006-6-29
收藏
得分:0 
惭愧,对WIN API了解甚少,是该多熟悉操作几次

2008-07-09 22:56
快速回复:按钮怎么不隐藏???????
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014908 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved