|
В VisualBasic'е, когда вы вызываете функцию MsgBox,
все ваши работающие процессы в фоновом режиме
(счетчики, таймеры) приостанавливаются до тех
пор, пока вы не закроете сообщение. Для
преодоления данной проблемы существует
API-функция MessageBox.
Следующий пример покажет разницу между двумя
методами. Добавьте на форме 2 элемента CommandButton,
элемент Label и элемент Timer.
Первая кнопка вызывает метод MsgBox, вторая -
API-функцию MessageBox. Private Declare Function MessageBox Lib "user32" Alias
"MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As
String, ByVal wType As Long) As Long
Private Sub Command1_Click()
MsgBox "Timer ОСТАНОВЛЕН!"
End Sub
Private Sub Command2_Click()
MessageBox Me.hwnd, "Timer НЕ ОСТАНОВЛЕН!", "", vbOKOnly +
vbExclamation
End Sub
Private Sub Form_Load()
Timer1.Interval = 1
End Sub
Private Sub Timer1_Timer()
Label1.Caption = Time
End Sub
|
|