Страница: 1 | 2 |
Вопрос: LockWindowUpdate, UpdateWindow, Unlock... ?
Добавлено: 07.08.07 13:14
Автор вопроса: VβÐUηìt | Web-сайт:
Есть окно (в смысле графическое - пиктурабокс вобщем). AutoRedraw = False у него, т.е. событие Paint выполняется. Можно как-нибудть сделать, чтобы во время перерисовки внутри Paint, окно не обновлялось - а то выглядит как полноценный глюк. Есть функция LockWindowUpdate - она блокирует обновление окна, а вот как разблокировать? Разблокировать ведь надо сразу внутри Paint, иначе это событие перестанет вызываться.
Короче, есть что-то типа UnlockWindowUpdate? :)
Заранее благодарен.
Ответы
Всего ответов: 17
Номер ответа: 1
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #1
Добавлено: 07.08.07 14:11
Очень нужно, народ, подскажите! Как разблокировать обновление окна после блокировки LockWindowUpdate?
Номер ответа: 2
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #2
Добавлено: 07.08.07 14:47
LockWindowUpdate(0)
Номер ответа: 3
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #3
Добавлено: 07.08.07 14:50
Да и UnlockWindowUpdate помойму тоже есть, у неё всё аналогично LockWindowUpdate
Номер ответа: 4
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #4
Добавлено: 07.08.07 15:14
Так в API Виевере ее нет? как ее обьявить? помогите плиз
Номер ответа: 5
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #5
Добавлено: 07.08.07 16:29
Я пробовал ее обьявить изменив Lock на Unlock, ничего не получается.
Номер ответа: 6
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #6
Добавлено: 07.08.07 16:38
LockWindowUpdate 0&
Номер ответа: 7
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #7
Добавлено: 07.08.07 17:11
Это как?
Номер ответа: 8
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #8
Добавлено: 07.08.07 17:17
http://support.microsoft.com/kb/191670
Номер ответа: 9
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #9
Добавлено: 07.08.07 18:06
Большое спасибо!
Эээ... А LockWindowUpdate 0& всегда производит событие Paint? Просто мне надо, чтобы во время перерисовки не было видно всяких белых полос из-за Cls... Вот я и подумал:
Private Sub Picture1_Paint()
LockWindowUpdate Picture1.hWnd
DrawElements
LockWindowUpdate 0&
Не помогает. Без Cls нельзя в принципе. Как быть?
Номер ответа: 10
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #10
Добавлено: 07.08.07 18:52
Забить на LockWindowUpdate. Попробуй использовать два пикчебокса и манипулируй visible=true/false
Номер ответа: 11
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #11
Добавлено: 07.08.07 19:32
AutoRedraw у меня = False. Поэтому Visible = true/false тут непоможет. AutoRedraw я отключил т.к. сразу тормозит все отображение. Может что-то типа BitBlt?
Номер ответа: 12
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #12
Добавлено: 08.08.07 07:43
Люди пожалуйста помогите, если я это не сделаю, то не смогу прогу дописать. Прога того стоит.
Номер ответа: 13
Автор ответа:
shuffle
Администратор
ICQ: 201502381
Вопросов: 15
Ответов: 737
Профиль | | #13
Добавлено: 08.08.07 08:23
На одном пикчурбоксе рисуешь и копируешь в другой.
Номер ответа: 14
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #14
Добавлено: 08.08.07 08:27
Бесполезно, т.к. AutoRedraw = False. Неужели это нерешимая проблема?!
Номер ответа: 15
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #15
Добавлено: 08.08.07 14:43
А может заместо cls рисовать прямоугольник цвета фона?