Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long
LockWindowUpdate блокирует и снимает блокировку на рисование в заданном окне. В любой момент времени может быть запрещено обновление лишь одного окна
' Блокируем контекстное меню текстового поля ' и выводим собственное меню ' Создайте на форме небольшое меню с именем 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