Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
Pantalone
-
- Постоялец
-
-
- Сообщения: 687
- Зарегистрирован: 12.11.2005 (Сб) 16:46
- Откуда: Сапог
Pantalone » 05.01.2006 (Чт) 9:33
Встал вопрос унификации иконок в программе, например чтобы восклицательный знак и на формах и на окнах сообщения Msgbox был одного вида. Учитывая что прога может использоваться на разных операционках и стандартные иконки там разные. Вижу два выхода:
1) Выдрать системную иконку восклицательного знака например и использовать ее в форме? Как ее выдрать?
2) Сделать свое окно диалога типа Msgbox и использовать там свою иконку. Но пропадет системный звук появления окна диалога, причем на восклицание или вопрос или критическую ошибку они разные у Msgbox, как тогда в свое окно эти звуки прикрутить? Субклассировать Msgbox не охота, поскольку в будущем планируется разработка скинов ко всем формам.
-
Sirik
-
- Perspicaz
-
-
- Сообщения: 2280
- Зарегистрирован: 19.02.2004 (Чт) 16:09
- Откуда: Бердичев, Украина
-
Sirik » 05.01.2006 (Чт) 9:34
2. beep
-
Pantalone
-
- Постоялец
-
-
- Сообщения: 687
- Зарегистрирован: 12.11.2005 (Сб) 16:46
- Откуда: Сапог
Pantalone » 05.01.2006 (Чт) 9:48
Звуки разные могут быть, бипом тут не отделаешься.
-
Юстас
-
- Бывалый
-
-
- Сообщения: 200
- Зарегистрирован: 24.10.2003 (Пт) 5:05
Юстас » 05.01.2006 (Чт) 9:54
MessageBeep
-
Kostyan
-
- Постоялец
-
-
- Сообщения: 439
- Зарегистрирован: 20.09.2002 (Пт) 4:14
- Откуда: Россия, Уссурийск
-
Kostyan » 05.01.2006 (Чт) 10:07
Этот код рисует на форме стандартные иконки, для каждой системы свои.
- Код: Выделить всё
Private Const IDI_APPLICATION As Long = 32512&
Private Const IDI_ERROR As Long = 32513&
Private Const IDI_EXCLAMATION As Long = 32515&
Private Const IDI_INFORMATION As Long = 32516&
Private Const IDI_QUESTION As Long = 32514&
Private Const IDI_WINLOGO As Long = 32517
Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
Private Declare Function LoadIcon Lib "user32" Alias "LoadIconA" (ByVal hInstance As Long, ByVal lpIconName As Long) As Long
Private Sub Form_Load()
Dim hIcon As Long
Me.AutoRedraw = True
hIcon = LoadIcon(0, IDI_ERROR)
Call DrawIcon(Me.hdc, 50, 50, hIcon)
hIcon = LoadIcon(0, IDI_EXCLAMATION)
Call DrawIcon(Me.hdc, 100, 50, hIcon)
hIcon = LoadIcon(0, IDI_INFORMATION)
Call DrawIcon(Me.hdc, 150, 50, hIcon)
hIcon = LoadIcon(0, IDI_QUESTION)
Call DrawIcon(Me.hdc, 200, 50, hIcon)
hIcon = LoadIcon(0, IDI_APPLICATION)
Call DrawIcon(Me.hdc, 250, 50, hIcon)
hIcon = LoadIcon(0, IDI_WINLOGO)
Call DrawIcon(Me.hdc, 300, 50, hIcon)
End Sub
Нет ничего невозможного для человека с интеллектом.
-
Sirik
-
- Perspicaz
-
-
- Сообщения: 2280
- Зарегистрирован: 19.02.2004 (Чт) 16:09
- Откуда: Бердичев, Украина
-
Sirik » 05.01.2006 (Чт) 10:22
я стандартный и не имел в виде! :
- Код: Выделить всё
Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Private Sub Form_Activate()
'KPD-Team 1999
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
Dim Cnt As Long
For Cnt = 0 To 5000 Step 10
'play a tone of 'Cnt' hertz, for 50 milliseconds
Beep Cnt, 50
Me.Caption = Cnt
DoEvents
Next Cnt
End Sub
-
Pantalone
-
- Постоялец
-
-
- Сообщения: 687
- Зарегистрирован: 12.11.2005 (Сб) 16:46
- Откуда: Сапог
Pantalone » 05.01.2006 (Чт) 10:57
Kostyan
Спасибо, выручил!
Sirik
Шутник
Все же как воспроизвести системный звук для своего диалогового окна в соответствии с установленным звуком в звуковом оформлении?
-
Sirik
-
- Perspicaz
-
-
- Сообщения: 2280
- Зарегистрирован: 19.02.2004 (Чт) 16:09
- Откуда: Бердичев, Украина
-
Sirik » 05.01.2006 (Чт) 11:50
может и Шуник, но шутку не понял
-
Kostyan
-
- Постоялец
-
-
- Сообщения: 439
- Зарегистрирован: 20.09.2002 (Пт) 4:14
- Откуда: Россия, Уссурийск
-
Kostyan » 05.01.2006 (Чт) 11:50
Pantalone писал(а):Все же как воспроизвести системный звук для своего диалогового окна в соответствии с установленным звуком в звуковом оформлении?
- Код: Выделить всё
Private Const SND_ALIAS As Long = &H10000
Private Const SND_NODEFAULT As Long = &H2
Private Const SND_ASYNC As Long = &H1
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Private Sub Command1_Click()
Call PlaySound("SystemStart", 0, SND_ALIAS Or SND_NODEFAULT Or SND_ASYNC)
End Sub
Полный список системных звуков найдешь в реестре по адресу: HKEY_CURRENT_USER\AppEvents\EventLabels\
Нет ничего невозможного для человека с интеллектом.
-
Pantalone
-
- Постоялец
-
-
- Сообщения: 687
- Зарегистрирован: 12.11.2005 (Сб) 16:46
- Откуда: Сапог
Pantalone » 05.01.2006 (Чт) 14:29
Не, должно быть по другому. А если звуковуха не установлена, проверять ее наличие и если нет через спикер бипать? Мне кажется должно быть какое-то другое решение. Буду копать дальше.
-
HotKitten
-
- Дятил
-
-
- Сообщения: 400
- Зарегистрирован: 24.01.2005 (Пн) 21:48
- Откуда: из дома
-
HotKitten » 06.01.2006 (Пт) 2:22
Через спикер прикольнее
- Код: Выделить всё
Private Declare Function Beep Lib "kernel32.dll" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Private Sub Beep()
Beep 1000, 2000
End Sub
-
DirectXManiac
-
- Продвинутый гуру
-
-
- Сообщения: 1543
- Зарегистрирован: 03.11.2005 (Чт) 13:32
- Откуда: из DirectX SDK
-
DirectXManiac » 06.01.2006 (Пт) 3:47
Определи папку с Windows и грузи нужные звуки из Windows\Media
#define ROFL 0xDDDD
-
Kovu
-
- Постоялец
-
-
- Сообщения: 924
- Зарегистрирован: 29.04.2005 (Пт) 17:38
Kovu » 06.01.2006 (Пт) 11:44
Pantalone
Тебе же Юстас сказал MessageBeep ( Private Declare Function MessageBeep Lib "user32.dll" (ByVal wType As Long) As Long )
Если всё делать своими ручками, они скоро отвалятся !
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Google-бот, Yandex-бот и гости: 4