Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 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-сайт: xury.zx6.ru
 Профиль | | #3
Добавлено: 22.08.05 06:35
На VBSTREETS точно видел слайдер в стиле XP, но честно говоря, на Slider он мало похож по внешнему виду, хотя функции сохраняет

Ответить

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



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

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #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 Павел

http://www.vbnet.ru/samples - сплошь мусор и неразбериха


понял?! :)

www.ya.ru не свалка, а межу прочм неплохой поисковый сервер, и не только по *.narod.ru и даже на *.narod.ru есть полно чего ты незнаешь, и никогда не видел, и какая разница откуда оно спёрто?

Ответить

Номер ответа: 10
Автор ответа:
 sne



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

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #10
Добавлено: 23.08.05 22:26
SplitBar.ctl
VERSION 5.00
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

Ответить

Страница: 1 |

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



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