Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Люди помогите. Добавлено: 08.06.06 19:48  

Автор вопроса:  Mervil
Хочу создать обьект дуга с событиями, методами.
Реализовал простым рисованием на форме(есть клас - его метод рисует ее). Задолбался отлавливать на форме когда я по ней кликну мышкой. Есть ли какой-то стандартный елемент, похож на Shape или Line?

Ответить

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

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



ICQ: 223663115 

Вопросов: 21
Ответов: 285
 Профиль | | #1 Добавлено: 08.06.06 21:59
Свой класс создавай - в нем эвент и радуйся.

Ответить

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



Вопросов: 1
Ответов: 7
 Профиль | | #2 Добавлено: 09.06.06 18:39
Класс создавал, а проблемы не ушли.
Теперь следи за прорисовкой и наложением линий - это и производительность и скорость падает.
В стандартных это уже реализовано.

Ответить

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


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 10.06.06 16:02
>Теперь следи за прорисовкой и наложением линий
UserControl1.AutoRedraw = True
.BaskStyle = Transparent

?
>производительность и скорость падает
код в студию...

Ответить

Номер ответа: 4
Автор ответа:
 Mervil



Вопросов: 1
Ответов: 7
 Профиль | | #4 Добавлено: 13.06.06 12:29
По поводу кривой - зделал, события отследил, вроде даже ничего.
Но проблема №2 UserControl1 имея в своем ассортименте лэбл и всскролл при отображении глючит на все 100%.

>код в студию...
Будет.

Ответить

Номер ответа: 5
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #5 Добавлено: 13.06.06 20:40
телепатов нет у нас, надо смотреть на код, или описывай проблему точнее, а не "глючит на 100%"

Ответить

Номер ответа: 6
Автор ответа:
 Victor



ICQ: 345743490 

Вопросов: 42
Ответов: 385
 Web-сайт: vt-dbnz.narod.ru
 Профиль | | #6
Добавлено: 14.06.06 14:13
Создай Windowless контрол. Обрабатывай события HitTest и Paint. Создай Event, вызывай RaiseEvent.

Ответить

Номер ответа: 7
Автор ответа:
 Mervil



Вопросов: 1
Ответов: 7
 Профиль | | #7 Добавлено: 19.06.06 12:15
Как и обещал:
Public Function SelectMe(sx As Integer, sy As Integer) As Boolean
    If Not MyType And Sqr((sx - mvarX) ^ 2 + (sy - mvarY) ^ 2) < mvarR + mvarWidht / 2 And Sqr((sx - mvarX) ^ 2 + (sy - mvarY) ^ 2) > mvarR - mvarWidht / 2 Then
        SelectMe = True
    ElseIf MyType And Sqr((sx - mvarX) ^ 2 + (sy - mvarY) ^ 2) < mvarR + mvarWidht / 2 _
                  And Sqr((sx - mvarX) ^ 2 + (sy - mvarY) ^ 2) > mvarR - mvarWidht / 2 Then
                  
                ;Dim smXper As Integer, smYper As Integer
                ;Dim smXper2 As Integer, smYper2 As Integer
                ;Dim smDX As Single, smDY As Single
                ;Dim smDl As Integer
                
                smDl = (mvarR + mvarWidht)
                smXper = mvarX + smDl * Int(Cos(mvarAngl0) * 10) / 10
                smYper = mvarY - smDl * Int(Sin(mvarAngl0) * 10) / 10
                smXper2 = mvarX + smDl * Int(Cos(mvarAngl) * 10) / 10
                smYper2 = mvarY - smDl * Int(Sin(mvarAngl) * 10) / 10
                smDX = Sgn(smXper - smXper2)
                smDY = Sgn(smYper - smYper2)
                
                SelectMe = False
                If smDX < 0 And smDY < 0 And sy > smYper And sx < smXper2 Then SelectMe = True
                If smDX > 0 And smDY > 0 And sy < smYper And sx > smXper2 Then SelectMe = True
                If smDX > 0 And smDY < 0 And sx < smXper And sy < smYper2 Then SelectMe = True
                If smDX < 0 And smDY > 0 And sx > smXper And sy > smXper2 Then SelectMe = True
                If smDX = 0 And smDY < 0 And sx < smXper Then SelectMe = True
                If smDX = 0 And smDY > 0 And sx > smXper Then SelectMe = True
                If smDX > 0 And smDY = 0 And sy < smYper Then SelectMe = True
                If smDX < 0 And smDY = 0 And sy > smYper Then SelectMe = True
                
        Else
            SelectMe = False
    End If
End Function

Для кривой нахождения. Работает.
Проблема в другом создавал свой контрл - Лбл и ТекстБох - Делаю его видимым или не видимым. И тормозит ужас.

Ответить

Страница: 1 |

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



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