Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > MS Access > Как нарисовать на форме квадрат и перерисовывать е |
Автор: User32 8.7.2010, 17:07 |
Имею Access 2003 и нарисованный квадрат на форме. При перемещении формы за пределы экрана квадрат стирается. Как избежать затирания или перерисовывать его заново? |
Автор: Akina 8.7.2010, 17:09 |
В MS Access не существует типа объекта "Квадрат". |
Автор: User32 8.7.2010, 17:20 | ||||
Естественно, я рисую его через API функции используя gdi32.dll Просто не совсем ясно выразился. Но не суть, суть то в чем, к примеру рисуем мы так на форме
А потом форму перетаскиваем за пределы экрана и возвращаем обратно. И получаем что вся наша мазня потерлась... |
Автор: Akina 8.7.2010, 18:05 |
Правильно. И должна была потереться. Отслеживай событие перемещения формы (и изменения размеров тоже) и при необходимости перерисовывайся. Или откажись от API. |
Автор: User32 9.7.2010, 09:32 | ||||
Вот в этом и вопрос. Что за событие когда форма выходит за пределы экрана, ведь в Access не снабжен полноценным VB и потому очень сильно ограничен в методах и событиях. К примеру в Visual Basic 6.0 что из пакета VS6.0 есть событие Paint. Вешаем нашу процедуру на событие и забываем о этой проблеме...
А в Access этого нет. Вот как быть в этом случаи? |
Автор: User32 9.7.2010, 12:17 | ||
Ё - твоё, где же это у VB что в Access 2003 событие Move? |
Автор: bopoha 12.7.2010, 14:52 |
Придется через WinAPI получать это событие. |
Автор: User32 27.7.2010, 14:44 | ||
Это понятно, но как? |
Автор: bopoha 23.8.2010, 11:49 |
Пример см. тут. http://support.microsoft.com/kb/278379 |