Функция LockWindowUpdate

Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long

LockWindowUpdate блокирует и снимает блокировку на рисование в заданном окне. В любой момент времени может быть запрещено обновление лишь одного окна

hwndLock
Дескриптор блокируемого окна. Если параметр равен 0, то окно разблокируется

Пример

' Блокируем контекстное меню текстового поля
' и выводим собственное меню
' Создайте на форме небольшое меню с именем mnuPopUp
' а также добавьте текстовое поле Text1

Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, _
         X As Single, Y As Single)

 If Button = vbRightButton Then
' Чтобы избежать серого текста, когда текстовое поле недоступно
 LockWindowUpdate Text1.hWnd

 ' Недоступное окно не показывает контекстное меню
 Text1.Enabled = False

 DoEvents

 ' Выводим наше созданное меню
 PopupMenu mnuPopup

' Снова делаем доступным текстовое поле
 Text1.Enabled = True

 ' Снимаем блокировку
 LockWindowUpdate 0&
         End If
End Sub

Категория

Окна