Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Изменить размер формы если BorderStyle=0 Добавлено: 19.12.09 18:22  

Автор вопроса:  Zahar | Web-сайт: partnerka-ru.info
В программе использую форму с установленным BorderStyle=0. Как смоделировать изменение размеров формы, так же, как это происходит в обычной. Сам мыслю так: в событии Form_mousemove отслеживать положение указателя. Когда он находится у правого или нижнего края изменять вид курсора, а в случае нажатия кнопки мыши должно происходить изменение размеров формы в зависимости от движения курсора. Но вот как сделать последнее - что не пробовал, ничего не получается.
Подскажите что-нибудь?

Ответить

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

Номер ответа: 1
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #1
Добавлено: 19.12.09 19:46
  1. Enum ResizingModeConstants
  2. vbNone 'Íå èçìåíÿåì ðàçìåðû
  3. vbRight 'Èçìåíÿåì ïðàâûé êðàé
  4. vbBottom 'Èçìåíÿåì íèæíèé êðàé
  5. vbBoth 'Èçìåíÿåì îáà êðàÿ
  6. End Enum
  7. Dim ResizingMode As ResizingModeConstants
  8. Const FrameWidth As Long = 150
  9. Const MinimalWidth As Long = 300
  10. Const MinimalHeight As Long = 300
  11. Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  12. If X > ScaleWidth - FrameWidth And Y > ScaleHeight - FrameWidth Then
  13. ResizingMode = vbBoth
  14. ElseIf X > ScaleWidth - FrameWidth Then
  15. ResizingMode = vbRight
  16. ElseIf Y > ScaleHeight - FrameWidth Then
  17. ResizingMode = vbBottom
  18. Else
  19. ResizingMode = vbNone
  20. End If
  21. End Sub
  22.  
  23. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  24. On Error Resume Next
  25. Dim MouseCursor As MousePointerConstants
  26. Dim newWidth As Long, newHeight As Long
  27. MouseCursor = vbDefault
  28. If Button = vbLeftButton Then
  29. If ResizingMode = vbBoth Then
  30. newWidth = X
  31. newHeight = Y
  32. ElseIf ResizingMode = vbRight Then
  33. newWidth = X
  34. ElseIf ResizingMode = vbBottom Then
  35. newHeight = Y
  36. End If
  37. If newWidth < MinimalWidth Then newWidth = MinimalWidth
  38. If newHeight < MinimalHeight Then newHeight = MinimalHeight
  39. Width = newWidth + FrameWidth / 2
  40. Height = newHeight + FrameWidth / 2
  41. ElseIf Button = vbNone Then
  42. If X > ScaleWidth - FrameWidth Then MouseCursor = vbSizeWE
  43. If Y > ScaleHeight - FrameWidth Then MouseCursor = vbSizeNS
  44. If X > ScaleWidth - FrameWidth And Y > ScaleHeight - FrameWidth Then MouseCursor = vbSizeNWSE
  45. End If
  46. MousePointer = MouseCursor
  47. End Sub

Ответить

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



Вопросов: 91
Ответов: 67
 Web-сайт: partnerka-ru.info
 Профиль | | #2
Добавлено: 19.12.09 21:56
Спасибо большое - всё работает !!

Ответить

Номер ответа: 3
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #3
Добавлено: 19.12.09 22:04
  1. Caption = ""
  2. ControlBox = False

Ответить

Номер ответа: 4
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #4
Добавлено: 19.12.09 22:23
)))

Ответить

Страница: 1 |

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



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