Массив Объектов (button) И Mciexecute

Тема в разделе "Visual Basic", создана пользователем klesivp1, 19 дек 2014.

  1. klesivp1

    klesivp1 New Member

    Регистрация:
    19 дек 2014
    Сообщения:
    1
    Симпатии:
    0
    Как в массиве объекта (Button) добавить такое событие на каждый Button
    на каждый Button своя мелодия при нажатии


    Код (LotusScript):
    Public Class Form1

    Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim Button() As Button = {Button1, Button2, Button3, Button4, Button5}
    Dim Audio() = {"D:\Audio\1.wav", "D:\Audio\2.wav", "D:\Audio\3.wav", "D:\Audio\4.wav", "D:\Audio\5.wav"}

    For i As Integer = 0 To fileLoad.Length - 1

    Button(i).Text = (i)
    Call mciExecute("play " & Audio(i))

    Next


    End Sub

    End Class
     
  2. alex77755

    alex77755 Well-Known Member

    Регистрация:
    15 фев 2009
    Сообщения:
    128
    Симпатии:
    0
    В бейсике кнопки буз всякой проблемы можно сделать массивом ещё на стадии создания и нет смысла применять класс
    Процедура и так будет одна для всех кнопок и у каждой кнопки будет свой индекс
    Если же это VBA, то для того, что бы была одна процедура на все кнопки нужен класс
    Но так же нужен глобальный массив объявленный как этот класс.
    И нужна процедура сбора кнопок в этот массив.
    А вот в самом классе объявление массива кнопок не нужно.
    Но нужно какое-то отличие в кнопках что бы потом в процедуре их распознать.
    Например в Tag каждой кнопки записать имя файла звука.
    Тогда и массива путей звуков не понадобится
     
Загрузка...

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