Dim mayCompile As Boolean
Private Sub Form_Load()
' Нужно установить в таймере свойство Timer1.Enabled = False
'Код
MayCompile = False
Timer1.Enabled = True
If MayCompile = True Then
'//Код после паузы
End If
End Sub
DirectXManiac писал(а):Можно например так:
1.На форму поставить Timer. В свойстве Interval установить 1500(1,5 сек)
2.Ввести переменную типа MayCompile As Boolean
3. При загрузке формы установить значение в False
4. Когда нужно включить Timer и в событии прописать:
Private Sub Timer1_Timer()
MayCompile = True
Timer1.Enabled = False
End Sub
А вот примерный код процедуры:
- Код: Выделить всё
Dim mayCompile As Boolean
Private Sub Form_Load()
' Нужно установить в таймере свойство Timer1.Enabled = False
'Код
MayCompile = False
Timer1.Enabled = True
If MayCompile = True Then
'//Код после паузы
End If
End Sub
Option Explicit
' Sleep API is declared in the form to keep the
' SetWaitableTimer code in its own re-usable module.
Private Declare Sub Sleep Lib "kernel32" ( _
ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
Command1.Enabled = False
Wait 10 ' seconds
Command1.Enabled = True
End Sub
Private Sub Command2_Click()
Command2.Enabled = False
Sleep 10000 ' milliseconds
Command2.Enabled = True
End Sub
Private Sub Form_Load()
With Form1
.Height = 1400
.Width = 2400
End With
With Command1
.Move 100, 100, 2000, 300
.Caption = "SetWaitableTimer"
End With
With Command2
.Move 100, 500, 2000, 300
.Caption = "Sleep"
End With
End Sub
Public Function TimeOutEvent(ByVal lpArgToCompletion As Long, ByVal dwTimerLow As Long, ByVal dwTimerHigh As Long) As Long
'
End Function
lRet = SetWaitableTimer(hTimer, ft, 0&, AddressOf TimeOutEvent, 0&, False)
Do
lBusy = MsgWaitForMultipleObjectsEx(1, hTimer, INFINITE, QS_ALLINPUT&, 2&)
DoEvents
Loop Until lBusy = WAIT_OBJECT_0
DirectXManiac писал(а):1.На форму поставить Timer. В свойстве Interval установить 1500(1,5 сек)
tyomitch писал(а):Dmitriy2003, ты лучше объясни по-русски, что конкретно тебе нужно, и чем обычный таймер не устроил.
tyomitch писал(а):В чём вопрос, так и не понял.
tyomitch писал(а):Зачем вместо FindWindow[Ex] используется Enum[Child]Windows, так и не понял.Зачем вместо поиска контрола по ID (&H130) используется привязка к заголовку, зависящему от языка системы, тоже не понял.
MSDN писал(а):Note that you cannot use WaitForSingleObjectEx to wait on the handle to the object for which the APC is queued. Otherwise, when the asynchronous operation is completed, the handle is set to the signaled state and the thread is no longer in an alertable wait state, so the APC function will not be executed. However, the APC is still queued, so the APC function will be executed if you call another alertable wait function.
t=Timer
Do While timer - t < 1.5
Loop
tyomitch писал(а):MSDN писал(а):Note that you cannot use WaitForSingleObjectEx to wait on the handle to the object for which the APC is queued. Otherwise, when the asynchronous operation is completed, the handle is set to the signaled state and the thread is no longer in an alertable wait state, so the APC function will not be executed. However, the APC is still queued, so the APC function will be executed if you call another alertable wait function.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 113