Работа С Программно Созданными Скроллбарами

Тема в разделе "Visual Basic", создана пользователем GWolf, 16 янв 2013.

  1. GWolf

    GWolf New Member

    Репутация:
    0
    Регистрация:
    30 окт 2008
    Сообщения:
    3
    Симпатии:
    0
    Доброго дня, друзья!

    Помогите чайнику. Идея проекта такова: Есть UserForm с двумя MultiPage. На первом MultiPage размещены два окна списка: в левое грузим список сотрудников, в правое проводим отбор группы участников. После чего перемещаемся на второй MultiPage. На втором MultiPage программно размещается, по числу участников группы, связка из Control: Label A + ScrollBar + Label B. ScrollBar имеет диапазон от 0 до 100 с шагом = 1. При перемещении движка любого из созданных ScrollBar - ов в соответствующем ему Label B должна отображаться цифра отражающая положение движка. Фуф! Вроде объяснил.
    Что сделано: - список заполняется, группа собирается, связки формируются. А вот как разобраться со скролбарами - не знаю!
    Задавал вопрос на других форумах - ТИШИНА! Может здесь услышу глас помощи!!! Очень срочно нужно!
     

    Вложения:

  2. alex77755

    alex77755 Well-Known Member

    Репутация:
    0
    Регистрация:
    15 фев 2009
    Сообщения:
    128
    Симпатии:
    0
    Ну, во первых: Option Explicit крайне желательное объявление - помогает находить и избегать ошибки


    2. в модуле формы
    блок объявлений
    Код:
    Option Explicit
    Dim arrSBControl(15) As New SBControl
    процедура Private Sub cmb_toProc_Click()
    Код:
    					Set crsB = .Add("Forms.ScrollBar.1", "skb_" & i + 1, True)
    ReDim Preserve arrSBControl(i)
    Set arrSBControl(i).Sbox = crsB
    класс без изменений - допишешь обработчик сам
    Код:
    Public WithEvents Sbox As MSForms.ScrollBar
    
    Private Sub Sbox_Change()
    MsgBox Sbox.Value, 64, Sbox.Name
    Stop
    End Sub
     
  3. alex77755

    alex77755 Well-Known Member

    Репутация:
    0
    Регистрация:
    15 фев 2009
    Сообщения:
    128
    Симпатии:
    0
    процедура Private Sub cmb_toProc_Click()
    Код:
    					Set crsA = .Add("Forms.Label.1", "lbx_" & i + 1, True)
    Set crsC = .Add("Forms.Label.1", "lbx_k" & i + 1, True)
    
    Set crsB = .Add("Forms.ScrollBar.1", "skb_" & i + 1, True)
    crsB.Tag = "lbx_k" & i + 1
    ReDim Preserve arrSBControl(i)
    Set arrSBControl(i).Sbox = crsB
    класс
    Код:
    Public WithEvents Sbox As MSForms.ScrollBar
    
    Private Sub Sbox_Change()
    frm_wistawimProcenti.Controls(Sbox.Tag).Caption = Sbox.Value
    End Sub
    Добавлено: Сорри, ошибочка: Массив объявлять безрамерным ()
     
  4. GWolf

    GWolf New Member

    Репутация:
    0
    Регистрация:
    30 окт 2008
    Сообщения:
    3
    Симпатии:
    0
    Вас понял. Буду разбираться. СПАСИБО!
     
Загрузка...

Поделиться этой страницей