📄 subject_51539.htm
字号:
<p>
序号:51539 发表者:sky++ 发表日期:2003-09-02 14:29:51
<br>主题:如何判断鼠标是否在一个窗口上?
<br>内容:如题,<BR><BR>例如:<BR>我在dialog中放置一个button控件,我想让鼠标在button之上时改变button的颜色,我怎么获知鼠标什么时候在button上,什么时候离开button.<BR><BR>谢谢。
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:ax 回复日期:2003-09-02 14:37:48
<br>内容:从CButton继承新类,重载WM_MOUSEMOVE(鼠标在BUTTON上)和WM_MOUSELEAVE(鼠标离开BUTTON)消息处理函数.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:烟头 回复日期:2003-09-02 15:19:24
<br>内容:将控件设成光标热区:<BR>通过Classwizard响应WM_SETCURSOR消息:<BR>BOOL CHotCursorDlg::OnSetCursor(CWnd*pWnd,UINT nHitTest,<BR> UINT message)<BR>{<BR> switch(pWnd->GetDlgCtrlID()) //得到鼠标所在控件<BR> 地ID号<BR> {<BR> case IDC_BUTTON1: //鼠标位于button<BR> {<BR> …… //变色代码<BR> return TRUE;<BR> }break;<BR> ……<BR> default: //鼠标离开<BR> {……//恢复<BR> return TRUE;<BR> }<BR> }<BR>return CDialog::OnSetCursor(pWnd,nHitTest,message);<BR>}
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:sky++ 回复日期:2003-09-02 16:30:32
<br>内容:The WM_SETCURSOR message is sent to a window if the mouse causes the cursor to move within a window and mouse input is not captured. to:烟头,谢谢。但是是不是如果我重载了CHotCursorDlg的WM_MOUSEMOVE消息,则WM_SETCURSOR就不会被发送呢?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:烟头 回复日期:2003-09-02 17:11:19
<br>内容:好像吧,这个我也不是很清楚,你自己试一试吧.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -