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

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

  1. GWolf

    GWolf New Member

    Регистрация:
    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

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


    2. в модуле формы
    блок объявлений
    Код (LotusScript):
    Option Explicit
    Dim arrSBControl(15) As New SBControl
    процедура Private Sub cmb_toProc_Click()
    Код (LotusScript):
                        Set crsB = .Add("Forms.ScrollBar.1", "skb_" & i + 1, True)
    ReDim Preserve arrSBControl(i)
    Set arrSBControl(i).Sbox = crsB
    класс без изменений - допишешь обработчик сам
    Код (LotusScript):
    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

    Регистрация:
    15 фев 2009
    Сообщения:
    128
    Симпатии:
    0
    процедура Private Sub cmb_toProc_Click()
    Код (LotusScript):
                        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
    класс
    Код (LotusScript):
    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

    Регистрация:
    30 окт 2008
    Сообщения:
    3
    Симпатии:
    0
    Вас понял. Буду разбираться. СПАСИБО!
     
Загрузка...
Похожие Темы - Работа Программно Созданными
  1. Andrey Kha
    Ответов:
    0
    Просмотров:
    29
  2. Hoasker
    Ответов:
    0
    Просмотров:
    64
  3. garri671
    Ответов:
    0
    Просмотров:
    55
  4. lelik200969
    Ответов:
    0
    Просмотров:
    53
  5. Kozolick
    Ответов:
    0
    Просмотров:
    142

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