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

📄 vbtips9.htm

📁 所有我收藏的VB技巧
💻 HTM
📖 第 1 页 / 共 2 页
字号:
        得到X坐标</p>
        <p id="content">Label2 = &quot;y: &quot; &amp; z.y '
        得到Y坐标</p>
        <p id="content">End Sub </p>
        <p id="content">5、按F5运行程序,移动鼠标注意观察两个标签对象的变化。<br>
        <a href="#Return">返回</a></p>
        <p id="content"><a name="怎样捕捉窗体的鼠标?"><b>怎样捕捉窗体的鼠标?</b></a></p>
        <p id="content">这个技巧将向您展示如何使用捕捉光标的API函数阻止鼠标指针移出窗体。</p>
        <p id="content">注意!:如果窗体的BorderStyle属性被设为sizeable(2或5),则当你改变窗体的大小时鼠标就会“逃脱”程序的监控!因此你最好把BorderStyle设为0、1、3或4。</p>
        <p id="content">步骤:</p>
        <ol>
            <li>把以下代码添加如模块:</li>
        </ol>
        <p id="content">Option Explicit </p>
        <p id="content">Type RECT</p>
        <p id="content">Left As Long</p>
        <p id="content">Top As Long</p>
        <p id="content">Right As Long</p>
        <p id="content">Bottom As Long</p>
        <p id="content">End Type </p>
        <p id="content">Declare Function ClipCursor Lib
        &quot;user32&quot; _</p>
        <p id="content">(lpRect As Any) As Long</p>
        <p id="content">Public Sub DisableTrap(CurForm As Form)</p>
        <p id="content">Dim erg As Long</p>
        <p id="content">'声明过程变量</p>
        <p id="content">'设置新坐标</p>
        <p id="content">Dim NewRect As RECT</p>
        <p id="content">CurForm.Caption = &quot;释放鼠标&quot;</p>
        <p id="content">With NewRect</p>
        <p id="content">.Left = 0&amp;</p>
        <p id="content">.Top = 0&amp;</p>
        <p id="content">.Right = Screen.Width /
        Screen.TwipsPerPixelX</p>
        <p id="content">.Bottom = Screen.Height /
        Screen.TwipsPerPixelY</p>
        <p id="content">End With</p>
        <p id="content">erg&amp; = ClipCursor(NewRect)</p>
        <p id="content">End Sub </p>
        <p id="content">Public Sub EnableTrap(CurForm As Form)</p>
        <p id="content">Dim x As Long, y As Long, erg As Long</p>
        <p id="content">'声明过程变量</p>
        <p id="content">'设置新坐标</p>
        <p id="content">Dim NewRect As RECT</p>
        <p id="content">'得到TwipsperPixel</p>
        <p id="content">'窗体的ScaleMode必须设为Twips!!!</p>
        <p id="content">x&amp; = Screen.TwipsPerPixelX</p>
        <p id="content">y&amp; = Screen.TwipsPerPixelY</p>
        <p id="content">CurForm.Caption = &quot;捕捉鼠标&quot;</p>
        <p id="content">'设置光标的范围</p>
        <p id="content">With NewRect</p>
        <p id="content">.Left = CurForm.Left / x&amp;</p>
        <p id="content">.Top = CurForm.Top / y&amp;</p>
        <p id="content">.Right = .Left + CurForm.Width / x&amp;</p>
        <p id="content">.Bottom = .Top + CurForm.Height / y&amp;</p>
        <p id="content">End With</p>
        <p id="content">erg&amp; = ClipCursor(NewRect)</p>
        <p id="content">End Sub </p>
        <p id="content">2、在窗体上添加两个命令按钮(Command
        Button)。</p>
        <p id="content">3、把以下代码添加如Form1。</p>
        <p id="content">Private Sub Command1_Click()</p>
        <p id="content">EnableTrap Form1</p>
        <p id="content">End Sub </p>
        <p id="content">Private Sub Command2_Click()</p>
        <p id="content">DisableTrap Form1</p>
        <p id="content">End Sub </p>
        <p id="content">Private Sub Form_Unload(Cancel As
        Integer)</p>
        <p id="content">'程序结束时释放鼠标。</p>
        <p id="content">DisableTrap Form1</p>
        <p id="content">End Sub<br>
        <a href="#Return">返回</a></p>
        <p id="content"><a
        name="怎样得到文本框(TextBox)中的文本行数?"><b>怎样得到文本框(TextBox)中的文本行数?</b></a></p>
        <p id="content">计算文本框中输入文本的行数可以使用SendMessage函数返回,当一行文字发生环绕时,它将被当作新的一行,而被非简单的计算文本中的换行符个数。</p>
        <p id="content">把以下API函数的声明添入模块文件的general
        declarations区域,如果您使用的是VB4-32或VB5,也可以把此声明添入Form1的general
        declarations中,并把所有的“Public”更换为“Private”。</p>
        <p id="content">Option Explicit</p>
        <p id="content">Public Declare Function SendMessageLong
        Lib _</p>
        <p id="content">&quot;user32&quot; Alias
        &quot;SendMessageA&quot; _</p>
        <p id="content">(ByVal hwnd As Long, _ </p>
        <p id="content">ByVal wMsg As Long, _ </p>
        <p id="content">ByVal wParam As Long, _</p>
        <p id="content">ByVal lParam As Long) As Long</p>
        <p id="content">Public Const EM_GETLINECOUNT = &amp;HBA </p>
        <p id="content">Form Code</p>
        <p id="content">Sub Text1_Change()</p>
        <p id="content">Dim lineCount as Long</p>
        <p id="content">On Local Error Resume Next</p>
        <p id="content">'得到/显示文本行数</p>
        <p id="content">lineCount = SendMessageLong(Text1.hwnd,
        EM_GETLINECOUNT, 0&amp;, 0&amp;)</p>
        <p id="content">Label1 = Format$(lineCount,
        &quot;##,###&quot;)</p>
        <p id="content">End Sub </p>
        <p id="content">注释:</p>
        <p id="content">为了使本程序成功,请在设计阶段把文本框的Multiline属性设为True。<br>
        <a href="#Return">返回</a></p>
        <p id="content"><a
        name="怎样使程序的标题条闪烁?"><b>怎样使程序的标题条闪烁?</b></a></p>
        <p id="content">建立新的项目文件,添加模块文件,并填写如下代码:</p>
        <p id="content">Public Declare Function FlashWindow _</p>
        <p id="content">Lib &quot;user32&quot; (ByVal hwnd As
        Long, _</p>
        <p id="content">ByVal bInvert As Long) As Long</p>
        <p id="content">在窗体中添加两个按钮和一个计时器,并用设置以下属性:</p>
        <p id="content">command1.caption=&quot;开始&quot;</p>
        <p id="content">command2.caption=&quot;停止&quot;</p>
        <p id="content">timer1.interval=500 '每0.5秒闪烁一次</p>
        <p id="content">timer1.enabled=false</p>
        <p id="content">Private Sub Timer1_Timer()</p>
        <p id="content">a&amp; = FlashWindow(Me.hwnd, 1)</p>
        <p id="content">End Sub</p>
        <p id="content">Private Sub Command1_Click()</p>
        <p id="content">Timer1.Enabled = True</p>
        <p id="content">End Sub</p>
        <p id="content">Private Sub Command2_Click()</p>
        <p id="content">Timer1.Enabled = False</p>
        <p id="content">End Sub</p>
        <p id="content">按F5运行程序。 <br>
        <a href="#Return">返回</a></p>
        </td>
    </tr>
</table>
</center></div>

<hr>
<div align="center"><center>

<table border="0" cellspacing="1" width="88%">
    <tr>
        <td width="80%"><p align="left"><a
        href="vbtips.htm#Return">[1]</a> <a href="vbtips1.htm">[2]</a>
        <a href="vbtips2.htm">[3]</a> <a href="vbtips3.htm">[4]</a>
        <a href="vbtips4.htm">[5]</a> <a href="vbtips5.htm">[6]</a>
        <a href="vbtips7.htm">[7]</a> <a href="vbtips7.htm">[8]</a>
        [9] <a href="vbtips10.htm">[10]</a></p>
        </td>
        <td><p align="right"><font size="2">第九页(共十页)</font></p>
        </td>
    </tr>
</table>
</center></div>
</body>
</html>

⌨️ 快捷键说明

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