Как оптимально сделать выключатель звуковых сообщений?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Как оптимально сделать выключатель звуковых сообщений?

Сообщение TiG » 13.05.2003 (Вт) 9:44

Алгоритмически на ум приходит только два способа:
1. Сделать кнопку которая будет вырубать весь звук в винде (кстати если кто-то знает текст программы для такой кнопки, то напишите пожалуйста)
2. Наверное в VB как и во многих языках есть, что-то типа "Если - то", поэтому можно написать что-то такое:

маус клик
если значение кнопки какой-то там кнопки "вкл/выкл звук" = 1 то
Call sndPlaySound("c:\2.wav", 1)
иначе
....(ничего)

(напишите пожалуйста как в VB выглядит оператор типа if else и как считать текущее значение какой либо кнопки - в смысле если кнопка имеет два состояния: нажата/отжата)

Кто знает другой человеческий способ, то напишите пожалуйста.

Александр Андреев
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 145
Зарегистрирован: 09.04.2003 (Ср) 16:43
Откуда: Н.Новгород

Сообщение Александр Андреев » 13.05.2003 (Вт) 10:27

Хорошо, что ты не написал это в главный форум...

Обычно в любой виндовской проге есть специальный диалог свойств, который вызывается из главного меню основного окна. Делаешь на нем переключатель CheckBox (назовем его cbPlaySound). Дальше можно завести глобальную переменную:

Код: Выделить всё
Public bPlaySound As Boolean


Когда диалог свойств загружается, инициализируешь CheckBox этим значением:

Код: Выделить всё
If bPlaySound Then
    cbPlaySound.Value = 1
End If


Когда нажата кнопка Ok переинициализируешь переменную:

Код: Выделить всё
bPlaySound = cbPlaySound.Value


А в основной проге можно написать так:

Код: Выделить всё
If bPlaySound Then
    ' проигрываем wav
Else
    ' ничего не делаем
End If


А еще лучше этот If облечь в функцию. Например в Private Function playWav(sFileName As String) As Boolean


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 88

    TopList