Заполнение формы - VB

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста есть ли способы произвольного заполнения формы точками и обратно исчезновения их. Что то вроде рассвет-закат.

Решение задачи: «Заполнение формы»

textual
Листинг программы
  1. Option Explicit
  2.  
  3. Private Declare Function GdiplusStartup Lib "gdiplus" (token As Long, inputbuf As Any, Optional ByVal outputbuf As Long = 0) As Long
  4. Private Declare Function GdipCreateFromHDC Lib "gdiplus" (ByVal hdc As Long, Graphics As Long) As Long
  5. Private Declare Function GdipDeleteGraphics Lib "gdiplus" (ByVal Graphics As Long) As Long
  6. Private Declare Function GdiplusShutdown Lib "gdiplus" (ByVal token As Long) As Long
  7. Private Declare Function GdipCreateImageAttributes Lib "gdiplus" (imageattr As Long) As Long
  8. Private Declare Function GdipSetImageAttributesColorMatrix Lib "gdiplus" (ByVal imageattr As Long, ByVal ClrAdjType As Long, ByVal enableFlag As Long, colourMatrix As Any, grayMatrix As Any, ByVal flags As Long) As Long
  9. Private Declare Function GdipCreateBitmapFromHBITMAP Lib "gdiplus" (ByVal hbm As Long, ByVal hpal As Long, Bitmap As Long) As Long
  10. Private Declare Function GdipDisposeImage Lib "gdiplus" (ByVal image As Long) As Long
  11. Private Declare Function GdipDisposeImageAttributes Lib "gdiplus" (ByVal imageattr As Long) As Long
  12. Private Declare Function GdipSetImageAttributesThreshold Lib "gdiplus" (ByVal imageattr As Long, ByVal ClrAdjType As Long, ByVal enableFlag As Long, ByVal threshold As Single) As Long
  13. Private Declare Function GdipDrawImageRectRectI Lib "gdiplus" (ByVal Graphics As Long, ByVal image As Long, ByVal dstx As Long, _
  14.                      ByVal dsty As Long, ByVal dstwidth As Long, ByVal dstheight As Long, _
  15.                      ByVal srcx As Long, ByVal srcy As Long, ByVal srcwidth As Long, ByVal srcheight As Long, _
  16.                      ByVal srcUnit As Long, Optional ByVal imageAttributes As Long = 0, _
  17.                      Optional ByVal callback As Long = 0, Optional ByVal callbackData As Long = 0) As Long
  18. Private Declare Function GdipSetImageAttributesColorKeys Lib "gdiplus" (ByVal imageattr As Long, ByVal ClrAdjType As Long, ByVal enableFlag As Long, ByVal colorLow As Long, ByVal colorHigh As Long) As Long
  19.  
  20. Const ColorAdjustTypeBitmap = 1
  21.  
  22. Dim gr As Long, bmp As Long, attr As Long, token As Long
  23.  
  24. Private Sub Form_Load()
  25.     Dim si(3) As Long
  26.     si(0) = 1: GdiplusStartup token, si(0): AutoRedraw = True: ScaleMode = vbPixels
  27.     GdipCreateImageAttributes attr: GdipCreateFromHDC Me.hdc, gr
  28.     GdipCreateBitmapFromHBITMAP Picture.Handle, Picture.hpal, bmp
  29. End Sub
  30. Private Sub Form_Unload(Cancel As Integer)
  31.     GdipDeleteGraphics gr: GdipDisposeImage bmp: GdiplusShutdown token: GdipDisposeImageAttributes attr
  32. End Sub
  33.  
  34. Private Sub Timer1_Timer()
  35.     Static value As Long, mtx(4, 4) As Single, s As Single
  36.     s = Abs((value / 100) - 1): mtx(0, 0) = s: mtx(1, 1) = s: mtx(2, 2) = s: mtx(3, 3) = 1: mtx(4, 4) = 1
  37.     GdipSetImageAttributesColorMatrix attr, ColorAdjustTypeBitmap, 1, mtx(0, 0), ByVal 0&, 0
  38.     GdipDrawImageRectRectI gr, bmp, 0, 0, ScaleWidth, ScaleHeight, 0, 0, ScaleWidth, ScaleHeight, 2, attr
  39.     value = ((value Mod 200) + 1): Refresh
  40. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы