powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как на время запретить обновление окна Access из кода VBA?
4 сообщений из 4, страница 1 из 1
Как на время запретить обновление окна Access из кода VBA?
    #32649969
Alex112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На форме A97 есть контрол Image, куда периодически подгружаю небольшие картинки из файлов, изменяя свойство .Picture контрола.

Все ОК, только достает всплывающее окошко с прогресс баром, показывающем процесс загрузки картинки. Там еще надпись:

Импорт: <путь к файлу> и кнопка <Отмена>

Форма при этом неприятно промигивает.

Есть ли способ запретить отображение этого окошка? Или может есть API функция, которя на нужное мне время приостановит отображение обновлений окна Access?

Пробовал использовать:

Код: plaintext
Public Declare Function LockWindowUpdate Lib "user32" (ByVal hWndLock As Long) As Long

вызывая ее перед загрузкой картинки:

Код: plaintext
LockWindowUpdate Application.hWndAccessApp

Не помогает: окошко все-равно появляется.
...
Рейтинг: 0 / 0
Как на время запретить обновление окна Access из кода VBA?
    #32649984
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй docmd.echo
...
Рейтинг: 0 / 0
Как на время запретить обновление окна Access из кода VBA?
    #32649986
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй
Билл
В данном примере свойство Painting используется для разрешения или запрещения обновления изображения формы, в зависимости от значения переменной SetPainting True или False. Если обновление изображения формы разрешено, на экран во время обновления формы выводится значок песочных часов.

Function EnablePaint(frmName As Form, ByVal SetPainting As Integer) As Integer
frmName.Painting = SetPainting
If SetPainting = False Then ' Если обновление запрещено,
DoCmd.Hourglass True ' выводится значок.
Else
DoCmd.Hourglass False ' Значок не выводится.
End If
End Function
...
Рейтинг: 0 / 0
Как на время запретить обновление окна Access из кода VBA?
    #32650267
Alex112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем! Сделал так:

- определяю указатель Desktop'а

Код: plaintext
Public Declare Function GetDesktopWindow Lib "user32" () As Long

- и передаю его функции перед сменой картинки:


Код: plaintext
1.
2.
LockWindowUpdate (GetDesktopWindow)
Me("ImageControl").Picture = ImgPath
LockWindowUpdate  0 & '

Работает без проблем и мельканий.

P.S. DoCmd.Echo пробовал - проблему не сняло. Вариант с установкой .Painting - аналогично.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как на время запретить обновление окна Access из кода VBA?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]