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

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

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

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

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

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

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

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

Код: plaintext
LockWindowUpdate Application.hWndAccessApp

Не помогает: окошко все-равно появляется.
...
Рейтинг: 0 / 0
15.08.2004, 12:37:32
    #32649984
Alexey Sh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как на время запретить обновление окна Access из кода VBA?
попробуй docmd.echo
...
Рейтинг: 0 / 0
15.08.2004, 13:05:46
    #32649986
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как на время запретить обновление окна Access из кода VBA?
попробуй
Билл
В данном примере свойство 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
16.08.2004, 09:20:12
    #32650267
Alex112
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как на время запретить обновление окна Access из кода VBA?
Спасибо всем! Сделал так:

- определяю указатель 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
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как на время запретить обновление окна Access из кода VBA? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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