⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 index021.htm

📁 一本不错的VC编程的参考书
💻 HTM
字号:
<html>
<style type="text/css"><!--
.p9 {  font-family: "宋体"; font-size: 9pt}a        {text-transform: none; text-decoration: none;}
a:hover {text-decoration: underline; color: #FF0000;}
--></style>
<body background="../di2001.jpg">
<h3 align="center"><font COLOR="#AOAO99"></font></h3>
<table width="100%" border="1" cellspacing="1">
<tr><td><p align="center"><font color="#FF0000">如何单击除了窗口标题栏以外的区域使窗口移动</font></td></tr>
<tr><td><p>
</Br>
当窗口需要确定鼠标位置时Windows向窗口发送WM_NCHITTEST信息,可以处理该信息使Windows认为鼠标在窗口标题上。对于对话框和基于对话的应用程序,可以使用ClassWizard处理该信息并调用基类函数, 如果函数返回HTCLIENT 则表明鼠标在客房区域,返回HTCAPTION表明鼠标在Windows的标题栏中。<Br>
UINT CSampleDialog : : OnNcHitTest (Cpoint point )<Br>
{<Br>
&nbsp;UINT nHitTest =Cdialog: : OnNcHitTest (point )<Br>
&nbsp;return (nHitTest = =HTCLIENT)? HTCAPTION : nHitTest<Br>
}<Br>
</Br>
&nbsp;上述技术有两点不利之处,<Br>
其一是在窗口的客户区域双击时,窗口将极大;<Br>
其二, 它不适合包含几个视窗的主框窗口。<Br>
还有一种方法,当用户按下鼠标左键使主框窗口认为鼠标在其窗口标题上,使用ClassWizard在视窗中处理WM_LBUTTODOWN信息并向主框窗口发送一个WM_NCLBUTTONDOWN信息和一个单击测试HTCAPTION。<Br>
void CSampleView : : OnLButtonDown (UINT nFlags , Cpoint point<Br>
)<Br>
{<Br>
&nbsp;CView : : OnLButtonDow (nFlags , pont )<Br>
</Br>
&nbsp;//Fool frame window into thinking somene clicked<Br>
on<Br>
&nbsp;its caption bar .<Br>
&nbsp;GetParentFrame ( ) —> PostMessage (<Br>
&nbsp;WM_NCLBUTTONDOWN ,<Br>
HTCAPTION , MAKELPARAM (poitn .x , point .y) )<Br>
</Br>
}<Br>
&nbsp;该技术也适用于对话框和基于对的应用程序,只是不必调用<Br>
CWnd: :GetParentFrame 。<Br>
void CSampleDialog : : OnLbuttonDown (UINT nFlags, Cpoint point )<Br>
{<Br>
&nbsp;Cdialog : : OnLButtonDow (nFlags, goint )<Br>
&nbsp;//Fool dialog into thinking simeone clicked on its<Br>
caption bar .<Br>
&nbsp;PostMessage (WM_NCLBUTTONDOWN , HTCAPTION , MAKELPARM (point.x<Br>
, point. y<Br>
) )<Br>
}<Br>
</Br>
</p></td></tr>
</table>
</body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -