Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Помогите с графикой в VBA Добавлено: 16.03.09 17:47  

Автор вопроса:  SergSSA
Помогите как рисовать линии, точки и т.д. на форме созданной в VBA под Excel. Вроде должны работать методы Line, Pset, Circle но никак не могу их прицепить к форме. Через APi функции тоже немогу разобраться где взять значения контекст устройств hDC и hwnd.

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 fAndOrIn



Вопросов: 5
Ответов: 344
 Профиль | | #1 Добавлено: 17.03.09 12:13
  1. Option Explicit
  2. Private hWnd As Long
  3. Private hDC As Long
  4. Private Type POINTAPI
  5.   x As Long
  6.   y As Long
  7. End Type
  8. Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  9. Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
  10. Private Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hDC As Long) As Long
  11. Private Declare Function Rectangle Lib "gdi32.dll" (ByVal hDC As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
  12. Private Declare Function MoveToEx Lib "gdi32.dll" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long, lpPoint As POINTAPI) As Long
  13. Private Declare Function LineTo Lib "gdi32.dll" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long) As Long
  14.  
  15. Private Sub CommandButton1_Click()
  16. Dim RetVal As Long
  17. Dim pt As POINTAPI
  18. RetVal = Rectangle(hDC, 20, 10, 200, 100)
  19. RetVal = MoveToEx(hDC, 20, 10, pt)
  20. RetVal = LineTo(hDC, 200, 100)
  21. End Sub
  22.  
  23. Private Sub UserForm_Initialize()
  24. hWnd = FindWindow(vbNullString, Me.Caption)
  25. hDC = GetDC(hWnd)
  26. End Sub
  27.  
  28. Private Sub UserForm_Terminate()
  29. Dim RetVal As Long
  30. RetVal = ReleaseDC(hWnd, hDC)
  31. End Sub

Ответить

Номер ответа: 2
Автор ответа:
 SergSSA



Вопросов: 1
Ответов: 1
 Профиль | | #2 Добавлено: 17.03.09 12:41
Огромное СПАСИБО.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам