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

📄 040109.htm

📁 提供一个VB学习教程,入门级。来源于网上
💻 HTM
字号:
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>vb study</title>
<style>
<!--
td {font-size: 9pt}
A:link {text-decoration: none; color: #0033cc;font-size: 9pt}
A:visited {text-decoration: none; color: #0066CC;font-size: 9pt}
A:active {text-decoration: none; color: #ff0000; font-size: 9pt}
A:hover {text-decoration: underline; color: #000000;font-size: 9pt}
-->
</style>
</head>
<body>
<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" width="98%">
    <tr>
      <td width="100%"><a href="#">你的位置</a>:<a href="http://www.xxby.com" target="_blank">华生小屋</a>--<a href="#">VB学习</a>--<a href="#">API函数</a></td>
    </tr>
    <tr>
      <td width="100%">
        <p align="center">设备场景类函数</td>
    </tr>
    <tr>
      <td width="100%"><br>
        获得指定窗口的显示设备描述表句柄 : GetDC函数 <br>
        &quot;显示设备描述表&quot;也叫设备场景。声明:<br>
        Private Declare Function GetDC Lib &quot;user32&quot; (ByVal hwnd As Long) As Long<br>
        参数很简单,只要传入某窗口句柄即可。调用如Dim hDC&amp; :hDC&amp;= GetDC(hwnd)<br>
        (它与窗体和图片框的固有hDC属性相同。有意思)。
        <p>==================================================<br>
          创建一个画图用的颜色刷:CreateSolidBrush函数<br>
          此函数用纯色创建一个刷子,刷子就是指定颜色的画笔而画出的笔划比&quot;画笔&quot;粗罢了。刷子的颜色由参数crColor指定1种RGB颜色,声明:<br>
          Public Declare Function CreateSolidBrush Lib &quot;gdi32&quot; (ByVal crColor As Long) As Long<br>
          调用如: hBrush = CreateSolidBrush(RGB(0, 0, 255))<br>
          其参数crColor:指定1种RGB颜色值。 <br>
          函数返回值为新创建的这个刷子的句柄,在其他地方用该刷子来画图时,要使用此句柄来标识该刷子,较重要。<br>
          ------------------------------<br>
          使用颜色刷函数:FillRect函数 <br>
          用指定的刷子填充一个矩形,即用刷子的颜色填满整个矩形内部。声明:<br>
          Public Declare Function FillRect Lib &quot;user32&quot; (ByVal hdc As Long, lpRect As RECT, ByVal hBrush As Long) As Long<br>
          结构类型RECT指明要填充的矩形区域,声明: <br>
          Public Type RECT<br>
          Left As Long<br>
          Top As Long Left和Top为矩形区域左上角坐标 <br>
          Right As Long<br>
          Bottom As Long Right和Bottom为矩形区域右下角坐标<br>
          End Type<br>
          调用如:<br>
          Dim FillArea As RECT<br>
          Me.ScaleMode = 3 这句不能丢,API中以象素为单位。只在VB中才用什么缇。讨厌<br>
          FillArea.Left = 0<br>
          FillArea.Right = Me.ScaleWidth<br>
          FillArea.Top = 0<br>
          FillArea.Bottom = Me.ScaleHeight<br>
          lxn = FillRect(Me.hDC, FillArea, hBrush)<br>
          参数:<br>
          hdc Long,要填色的设备场景句柄 <br>
          lpRect RECT,确定填充区域,采用逻辑坐标(即那个设备场景窗口的客户坐标)。 <br>
          hBrush Long,欲使用的刷子的句柄 <br>
          注:矩形的右边和底边不会描绘<br>
          ---------------------------------------------<br>
          删除&quot;刷子对象&quot;函数:DeleteObject函数<br>
          当画完颜色后,要去除此刷子,用DeleteObject传入刷子的句柄即可。<br>
          该函数功能:删除GDI对象,比如画笔、刷子、字体、位图、区域以及调色板等等。对象使用的所有系统资源都会被释放 <br>
          声明:<br>
          Declare Function DeleteObject Lib &quot;gdi32&quot;(ByVal hObject As Long) As Long<br>
          调用如: lxn = DeleteObject(hBrush)<br>
          参数: hObject :一个GDI对象的句柄 <br>
          不要删除一个已选入设备场景的画笔、刷子或位图。如删除以位图为基础的阴影(图案)刷子,位图不会由这个函数删除--只有刷子被删掉<br>
          ======================================================<br>
          ==================================<br>
          FillRgn函数:用指定刷子填充指定区域<br>
          前面学的FillRect是填充1个矩形区域,而用FillRgn,可填充任意指定区域句柄的区域,常常结合其他如椭圆、圆角矩形的函数返回句柄来填充不规则形状。<br>
          声明:<br>
          Declare Function FillRgn Lib &quot;gdi32&quot; Alias &quot;FillRgn&quot; (ByVal hdc As Long, ByVal hRgn As Long, ByVal hBrush As Long) As Long<br>
          调用如:<br>
          Dim hBrush As Long<br>
          Dim hRgn As Long<br>
          hBrush = CreateSolidBrush(vbBlue)<br>
          hRgn = CreateEllipticRgn(0,0,200,100)<br>
          Call FillRgn(Form1.hDC, hRgn, hBrush)<br>
          Call DeleteObject(hBrush)<br>
          参数:<br>
          hdc Long,设备场景句柄 <br>
          hRgn Long,填充的几何形状区域句柄 <br>
          hBrush Long,要用的刷子的句柄 <br>
          ===========================================<br>
          ================================================<br>
          CreateCompatibleDC函数:创建一个与特定设备场景一致的内存设备场景 <br>
          声明:<br>
          Declare Function CreateCompatibleDC Lib &quot;gdi32&quot;(ByVal hdc As Long) As Long <br>
          调用如:<br>
          hTempDC = CreateCompatibleDC(Picture1.hdc)<br>
          函数返回值为新的设备场景的句柄。<br>
          参数hdc--原设备场景句柄。新的设备场景将与它一致。此参数也可传入0以创建一个与屏幕一致的设备场景。<br>
          注:在绘制之前,先要为该设备场景选定一个位图。不再需要时,该设备场景可用DeleteDC函数删除。删除前,其所有对象应回复初始状态<br>
          ---------------------------------<br>
          DeleteDC函数:删除专用设备场景<br>
          声明:<br>
          Declare Function DeleteDC Lib &quot;gdi32&quot; (ByVal hdc As Long) As Long 参数很简单:hdc--将要删除的设备场景。<br>
          该函数删除专用设备场景或信息场景,释放所有相关窗口资源。不要将它用于GetDC函数取回的设备场景。若有对象被选入设备场景,则在调用本函数前应将它们选出。为此,可将初始对象回选入DC,也可用SaveDC, RestoreDC函数对回复DC为其创建时的状态。注:在vb里使用,不要将它用于由vb hdc属性获取的设备场景句柄 <br>
          -----------------------------------<br>
          CreateCompatibleBitmap函数:创建1幅与设备有关的位图<br>
          该函数创建一幅与设备有关位图,它与指定的设备场景兼容 <br>
          声明:<br>
          Declare Function CreateCompatibleBitmap Lib &quot;gdi32&quot; (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long <br>
          调用如:<br>
          nWidth = Picture1.Width \ Screen.TwipsPerPixelX<br>
          nHeight = Picture1.Height \ Screen.TwipsPerPixelY<br>
          hBitmap = CreateCompatibleBitmap(Picture1.hdc, nWidth, nHeight)<br>
          函数返回值为位图的句柄。<br>
          参数:<br>
          hdc:设备场景的句柄 <br>
          nWidth:位图宽度,以像素为单位 <br>
          nHeight:位图高度,以像素为单位 <br>
          一旦位图不再需要,要用deleteObject函数释放它所占用的资源。<br>
          ----------------------------------------------------<br>
          SelectObject函数:选择在设备场景中选入某类型GDI对象<br>
          每个设备场景都可能有选入其中的图形对象。其中包括位图、刷子、字体、画笔以及区域等等。一次选入设备场景的只能有一个对象。选定的对象会在设备场景的绘图操作中使用。例如,当前选定的画笔决定了在设备场景中描绘的线段颜色及样式 。<br>
          声明:<br>
          Declare Function SelectObject Lib &quot;gdi32&quot;(ByVal hdc As Long, ByVal hObject As Long) As Long<br>
          函数返回值为选入hdc设备场景的hObject类型的一个对象的句柄,零表示出错。如果选定的对象是一个区域(如由CreateEllipticRgn椭圆区域),结果就是下列常数之一:SIMPLEREGION, COMPLEXREGION 或 NULLREGION 对区域进行描述, GDI_ERROR 表示出错 <br>
          参数:hdc--一个设备场景的句柄 <br>
          hObject --一个画笔、位图、刷子、字体或区域的句柄 <br>
          注:返回值通常用于获得选入DC的对象的原始值。绘图操作完成后,原始的对象通常选回设备场景。在清除一个设备场景前,务必注意恢复原始的对象。</p>
        <p align="center">
        <br>
        &lt; <a href="040108.htm">上一页</a>--<a href="http://www.xxby.com" target="_blank">华生小屋</a>--<a href="040110.htm">下一页</a>     
        &gt;<br>
      </td>
    </tr>
  </table>
  </center>
</div>
</body>
</html>

⌨️ 快捷键说明

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