Другие языки программирования и технологии

2 лёгких вопроса по VB 2008

1. Как сделать рамочки для кнопок т.к. при их покраске края всё равно остаются белыми , очень некрасиво. 2.Как сделать музыку ? Ну и какие основные команды для звуковых эффектов , типа вкл/выкл при каких либо условиях?
Звуковая подсистема (MCI) обеспечивает одновременное воспроизведение звуковых файлов, причем разных форматов (зависит от установленных в системе кодеков) .
Достаточно вызвать пару API функций.
Когда то писал игрушку, вот кусочек примерчика.. .
Надеюсь разберешься.

Public Class Form1

'*** Декларируем API функции ***
' Воспроизведение звука и музыки
Private Declare Function mciSendString Lib "winmm.dll" _
Alias "mciSendStringA" (ByVal lpstrCommand As String, _
ByVal lpstrReturnString As String, ByVal uRetrunLength _
As Long, ByVal hwndCallback As Long) As Long
' Преобразование длинного имени файла в короткое (8.3) имя.
Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" _
(ByVal lpszLongPath As String, ByVal lpszShortPath As String, _
ByVal cchBuffer As Integer) As Int32

' Загрузка формы
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Задаем каталог (звуки, курсор, музыка и проч... )
Dim Directory As String = Application.StartupPath & "\Sound\"

'Грузим звуки и музыку в MCI
FileName = ShortFilePath(Directory & "1.mid") ' фоновая музыка
mciSendString("open " & FileName & " alias Фон", "", 0, 0)
FileName = ShortFilePath(Directory & "CLICK.WAV") ' перзарядка патронов
mciSendString("open " & FileName & " alias Патроны", "", 0, 0)
FileName = ShortFilePath(Directory & "TimerTick.wav") ' нет патронов
mciSendString("open " & FileName & " alias Клик", "", 0, 0)
FileName = ShortFilePath(Directory & "exp1.wav") ' выстрел #1
mciSendString("open " & FileName & " alias Выстрел1", "", 0, 0)

' Воспроизводим фон
mciSendString("play Фон", "", 0, 0)
End Sub

' Перезарядка патронов
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

' Воспроизводим звук перезарядки патронов
mciSendString("play Патроны from 0", "", 0, 0)
End Sub

' Звук выстрела
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

' Воспроизводим звук выстрела
mciSendString("play Выстрел1 from 0", "", 0, 0)
End Sub

'* Функция преобразования пути к файлу (длинный в короткий)
Private Function ShortFilePath(ByVal strFilePath As String) As String
Dim ShortFileName As String = Space(256) ' буфер для короткого имени
Dim Result As Int32 = GetShortPathName(strFilePath, ShortFileName, Len(ShortFileName))
ShortFilePath = Microsoft.VisualBasic.Left(ShortFileName, Result)
End Function

End Class
Неижко Роман
Неижко Роман
96 357
Лучший ответ