Страница: 1 |
Страница: 1 |
Вопрос: Slider
Добавлено: 21.08.05 18:41
Автор вопроса: Amor | ICQ: 1268198
Есть у кого нибуть контрол Slider(ctl)
или Slider на API
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 22.08.05 00:11
Слушай, мне уже чисто влом пальзы мозолить отвечая на твои подобные топы.
В ПРИМЕРАХ СМОТРИ!
Номер ответа: 2
Автор ответа:
Amor
ICQ: 1268198
Вопросов: 31
Ответов: 101
Профиль | | #2
Добавлено: 22.08.05 06:26
Не мозоль мож кто другой ответит
Номер ответа: 3
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #3
Добавлено: 22.08.05 06:35
На VBSTREETS точно видел слайдер в стиле XP, но честно говоря, на Slider он мало похож по внешнему виду, хотя функции сохраняет
Номер ответа: 4
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #4
Добавлено: 22.08.05 11:31
Не вопрос В примерах смотри, один есть точно - ApiFlatScrollBar - самолично отсылал... может и иеще что, вот только не помню ))
Номер ответа: 5
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #5
Добавлено: 22.08.05 14:57
Ха! Это то думаешь другим не посылать тебя на примеры? Или ты считаешь что тут все за звёздами охотятся? От скажи мне почему хочется задать вопрос на форуме, прежде чем поискать самому? Сколько тот же яндекс выдаёт ссылок по запросу "VB Slider" ?! Ну в конце концов, заходишь на сайт, И ВМЕСТО ССЫЛКИ "ФОРУМ" НАЖМИ "ПРИМЕРЫ"!!! Это сплошное экономие своего времени, и времени форумчан которые будет отвечать тебе на твой вопрос. Я уже молчу про трафик, деньги... итп...
Номер ответа: 6
Автор ответа:
Amor
ICQ: 1268198
Вопросов: 31
Ответов: 101
Профиль | | #6
Добавлено: 22.08.05 19:10
Я не жму ссылку форум я полный адресс ввожу сразу
Номер ответа: 7
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #7
Добавлено: 22.08.05 20:34
))))))))))))))))))))))))))) NO COMENT !!!
Избранным в браузере не пробовал пользоваться?
-------------------
Впрочем неважно, тогда попробуй набрать http://www.vbnet.ru/samples там говорят примеры есть... может найдёшь чё-то, если там ненайдёшь то набери в адресе www.ya.ru и впиши там в текстовое окошко свой вопрос, если с первого раза ненайдёт, попробуй подругому сформилировать вопрос, ну если уже невкакую тогда конечно тебе на помощь придёт http://www.vbnet.ru/forum...
Номер ответа: 8
Автор ответа:
Amor
ICQ: 1268198
Вопросов: 31
Ответов: 101
Профиль | | #8
Добавлено: 22.08.05 22:56
lol
Избранное - гавно кто тока его придумал
http://www.vbnet.ru/samples - сплошь мусор и неразбериха ру скачал я там Slider(не слайдер а кал какой то)
www.ya.ru - свалка рекламы и сайтов *.narod.ru с содержанием спёртым у других сайтов
Поетому я здесь
Номер ответа: 9
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #9
Добавлено: 23.08.05 02:23
2 Павел
понял?!
www.ya.ru не свалка, а межу прочм неплохой поисковый сервер, и не только по *.narod.ru и даже на *.narod.ru есть полно чего ты незнаешь, и никогда не видел, и какая разница откуда оно спёрто?
Номер ответа: 10
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #10
Добавлено: 23.08.05 22:26
SplitBar.ctl
Begin VB.UserControl SplitBar
AutoRedraw = -1 'True
CanGetFocus = 0 'False
ClientHeight = 3600
ClientLeft = 0
ClientTop = 0
ClientWidth = 4800
ScaleHeight = 3600
ScaleWidth = 4800
End
Attribute VB_Name = "SplitBar"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
'***************************************************************************************
'* Написано: 07.31.2005 (Team HomeWork) *
'* e-mail: sne_pro@mail.ru *
'***************************************************************************************
Private Enum prEvent
drgStarted = 0&
drgProgress = 1&
drgFinished = 2&
End Enum
' §§§§§§§§§§§§§§§§§§§§§§§§§§ Переменные §§§§§§§§§§§§§§§§§§§§§§§§§§
Private m_Vertical As Boolean, _
m_DoWork As Boolean
' §§§§§§§§§§§§§§§§§§§§§§§§§§ Свойства §§§§§§§§§§§§§§§§§§§§§§§§§§
Private m_LiteLine As Long, _
m_DarkLine As Long, _
m_MinValue As Long, _
m_MaxValue As Long
' §§§§§§§§§§§§§§§§§§§§§§§§§§ События §§§§§§§§§§§§§§§§§§§§§§§§§§
Public Event DragBegin(ByVal pos1 As Long, ByVal pos2 As Long)
Public Event DragProgress(ByRef pos1 As Long, ByRef pos2 As Long)
Public Event DragEnd(ByVal pos1 As Long, ByVal pos2 As Long)
' §§§§§§§§§§§§§§§§§§§§§§§§§§ UserControl events §§§§§§§§§§§§§§§§§§§§§§§§§§
Private Sub UserControl_InitProperties()
m_DarkLine = vb3DShadow
m_LiteLine = vb3DHighlight
End Sub
Private Sub UserControl_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = vbLeftButton Then Call DoDragEvents(drgStarted, x, y)
End Sub
Private Sub UserControl_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = vbLeftButton Then Call DoDragEvents(drgProgress, x, y)
End Sub
Private Sub UserControl_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = vbLeftButton Then Call DoDragEvents(drgFinished, x, y)
End Sub
Private Sub UserControl_Show()
Call DrawSplitBar
End Sub
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
m_LiteLine = PropBag.ReadProperty("ColorLite", vb3DHighlight)
m_DarkLine = PropBag.ReadProperty("ColorDark", vb3DShadow)
m_MinValue = PropBag.ReadProperty("MinValue", 0&
m_MaxValue = PropBag.ReadProperty("MaxValue", 0&
End Sub
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
Call PropBag.WriteProperty("ColorLite", m_LiteLine, vb3DHighlight)
Call PropBag.WriteProperty("ColorDark", m_DarkLine, vb3DShadow)
Call PropBag.WriteProperty("MinValue", m_MinValue, 0&
Call PropBag.WriteProperty("MaxValue", m_MaxValue, 0&
End Sub
Private Sub UserControl_Resize()
Dim c_size As Long
m_Vertical = (UserControl.Width < UserControl.Height)
If m_Vertical Then
c_size = UserControl.Width - (UserControl.Width Mod (3 * Screen.TwipsPerPixelX))
Else
c_size = UserControl.Height - (UserControl.Height Mod (3 * Screen.TwipsPerPixelY))
End If
If (c_size < (3& * Screen.TwipsPerPixelX)) Then _
c_size = (3& * Screen.TwipsPerPixelX)
If (c_size > (15& * Screen.TwipsPerPixelX)) Then _
c_size = (15& * Screen.TwipsPerPixelX)
If m_Vertical Then
UserControl.Width = c_size
UserControl.MousePointer = vbSizeWE
Else
UserControl.Height = c_size
UserControl.MousePointer = vbSizeNS
End If
Call DrawSplitBar
End Sub
' §§§§§§§§§§§§§§§§§§§§§§§§§§ Properties §§§§§§§§§§§§§§§§§§§§§§§§§§
Public Property Get BackColor() As OLE_COLOR ' Цвет фона
BackColor = UserControl.BackColor
End Property
Public Property Let BackColor(ByVal Value As OLE_COLOR)
UserControl.BackColor = Value
Call DrawSplitBar
End Property
Public Property Get LineLite() As OLE_COLOR ' Цвет первой линии
LineLite = m_LiteLine
End Property
Public Property Let LineLite(ByVal Value As OLE_COLOR)
m_LiteLine = Value
Call DrawSplitBar
End Property
Public Property Get LineDark() As OLE_COLOR ' Цвет второй линии
LineDark = m_DarkLine
End Property
Public Property Let LineDark(ByVal Value As OLE_COLOR)
m_DarkLine = Value
Call DrawSplitBar
End Property
Public Property Get MaxValue() As Long
MaxValue = m_MaxValue
End Property
Public Property Let MaxValue(ByVal Value As Long)
m_MaxValue = Value
End Property
Public Property Get MinValue() As Long
MinValue = m_MinValue
End Property
Public Property Let MinValue(ByVal Value As Long)
m_MinValue = Value
End Property
' §§§§§§§§§§§§§§§§§§§§§§§§§§ My stuff §§§§§§§§§§§§§§§§§§§§§§§§§§
Private Sub DrawSplitBar()
Dim cur_cnt As Long
With UserControl
Call .Cls
cur_cnt = IIf(m_Vertical, UserControl.Width, UserControl.Height) \ 2&
If (m_Vertical) Then
.ForeColor = m_DarkLine ' Темная линия
UserControl.Line (cur_cnt, 0&-(cur_cnt, .ScaleHeight)
cur_cnt = cur_cnt + Screen.TwipsPerPixelX
.ForeColor = m_LiteLine ' Светлая линия
UserControl.Line (cur_cnt, 0&-(cur_cnt, .ScaleHeight)
Else
.ForeColor = m_DarkLine ' Темная линия
UserControl.Line (0&, cur_cnt)-(.ScaleWidth, cur_cnt)
cur_cnt = cur_cnt + Screen.TwipsPerPixelX
.ForeColor = m_LiteLine ' Светлая линия
UserControl.Line (0&, cur_cnt)-(.ScaleWidth, cur_cnt)
End If
End With
End Sub
Private Sub DoDragEvents(ByVal iEvent As prEvent, ByVal x As Long, ByVal y As Long)
On Error Resume Next
Dim indx As Long, _
lng1 As Long, _
lng2 As Long, _
sName As String
With UserControl.ParentControls ' Находим нашконтрол по имени
For indx = 0 To .Count - vbNull
sName = .Item(indx).Name
sName = sName & "" & CStr(.Item(indx).Index) & ""
If (UserControl.Ambient.DisplayName = sName) Then _
Exit For
Next
End With
With UserControl.ParentControls(indx) ' И работаем только с ним
If (m_Vertical) Then
lng1 = .Left + x ' Новая левая граница
lng2 = .Width + lng1 ' Новая правая граница
Else
lng1 = .Top + y ' Аналогично
lng2 = .Height + lng1
End If
If Not (m_MinValue = 0& Then
Debug.Print lng1, lng2
If (lng1 < m_MinValue) Then lng1 = m_MinValue
If (lng2 < m_MinValue) Then lng2 = m_MinValue
End If
If Not (m_MaxValue = 0& Then
If (lng1 > m_MaxValue) Then lng1 = m_MaxValue
If (lng2 > m_MaxValue) Then lng2 = m_MaxValue
End If
Select Case iEvent
Case Is = drgStarted ' Начало
m_DoWork = True
RaiseEvent DragBegin(lng1, lng2)
Case Is = drgProgress ' В состоянии
If Not (m_DoWork) Then Exit Sub
Call .ZOrder(0) ' Слайдер должно быть видно
RaiseEvent DragProgress(lng1, lng2)
If (m_Vertical) Then .Left = lng1 Else .Top = lng1
Case Is = drgFinished ' Закончили...
m_DoWork = False
RaiseEvent DragEnd(lng1, lng2)
End Select
End With
End Sub