VB API 之 第十一课 绘制矩形
生活随笔
收集整理的這篇文章主要介紹了
VB API 之 第十一课 绘制矩形
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先來介紹幾個畫矩形的函數:
DrawFocusRect():畫一個焦點矩形;
Rectangle():用當前選定的畫筆描繪矩形,并用當前選定的畫刷填充;
DrawEdge():用指定的樣式描繪一個矩形的邊框;
RoundRect():用當前選定的畫筆畫一個圓角矩形,并用當前選定的畫刷填充。
今天用的是DrawFocusRect()函數,函數原型如下
Private Declare Function DrawFocusRect Lib "user32" Alias "DrawFocusRect"
(
ByVal hDC As Long,
lpRect As RECT
) As Long
hDc: Long ? //設備的句柄
lpRect: RECT結構,繪制矩形的坐標。
返回值為0,表示失敗,不為0,則成功
示例:繪制矩形
Option Explicit Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type '類型聲明 Private Declare Function DrawFocusRect Lib "user32" (ByVal hdc As Long, lpRect As RECT) As Long Dim Flag As Boolean Dim Start As Boolean Dim Pos As RECT Dim tempPos As RECT Private Sub Command1_Click() Flag = True '開始繪圖 End Sub Private Sub Command2_Click() Flag = False Picture1.Cls '結束繪圖 End Sub Private Sub Form_Load() Flag = False Start = False '禁止繪圖 Me.ScaleMode = 3 Me.Picture1.ScaleMode = 3 '設置對象坐標的度量單位為像素 End Sub Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Flag Then Start = True Pos.Left = X Pos.Top = Y Else Start = False End If End Sub Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Start Then DrawFocusRect Me.Picture1.hdc, Pos '擦除原有焦點矩形 Pos.Right = X Pos.Bottom = Y DrawFocusRect Me.Picture1.hdc, Pos '繪制新的焦點矩形 End If End Sub Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If Start Then DrawFocusRect Me.Picture1.hdc, Pos '擦除原有焦點矩形 Pos.Right = X Pos.Bottom = Y DrawFocusRect Me.Picture1.hdc, Pos '繪制新的焦點矩形 Start = False End If End Sub?
轉載于:https://www.cnblogs.com/delphi2014/p/4035271.html
總結
以上是生活随笔為你收集整理的VB API 之 第十一课 绘制矩形的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Arcgis for Javascrip
- 下一篇: linux学习网站分享