Страница: 1 |
Страница: 1 |
Вопрос: Глюк графики VB6 + WinME. Usercontrol. Помогите.
Добавлено: 20.09.05 21:50
Автор вопроса: Victor | Web-сайт:
Я столкнулся со следующей проблемой. создаю UserControl. Кнопочка, если быть более конкретным. И наблюдается следующая фигня: когда на диалоговом окне есть кнопочки, и на главной форме они есть тоже, кнопки из диалогового окна периодически отказываются прорисовываться, а иногда вообще рисуются в левом-верхнем углу экрана (ЭКРАНА, а не формы, на которой они размещены). Хотя одно решение этой проблемы мне уже известно: задать Autoredraw=true. Но когда кнопок на форме много, такой режим мне не нравится - много ресурсов потребляет.
Еще хочу замететь, что под XP все как в аптеке - никаких проблем.
Как от этого избавиться? или у меня просто драйвер видюхи левый...
Ответы
Всего ответов: 14
Номер ответа: 1
Автор ответа:
ViktorZ
ICQ: 271202919
Вопросов: 56
Ответов: 837
Профиль | | #1
Добавлено: 21.09.05 00:06
На сайт зайдите.Какое прекрасное сочетание радиоактивно зеленого с цветом теста))) Буааааа.
Empro просто бог HTML+CSS)
Номер ответа: 2
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #2
Добавлено: 21.09.05 11:20
Сколько на линолиуме сижу - отродясь такого не было. Глюкавая кнопочка значит.
Номер ответа: 3
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #3
Добавлено: 21.09.05 17:32
ХЗ. Сам понять не могу. Один недочет поправил - лучше стало, но все равно иногда проглючивает.
Для справок: AutoRedraw=False. рисую прямо на UserControl'е, только в событии Paint (раньше было так, что иногда и не в нем рисовалось - так глючило вообще по страшному)
Номер ответа: 4
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #4
Добавлено: 23.09.05 06:11
Если рисуешь кнопки вручную апишными кистями, то возможно забываешь удалять кисти, а т.к. их число ограничено через некоторое время такого юзания прорисовка начинает глючить.
У меня, например, мои кнопки и на хрюше так гнали попервой, пока не разобрался...
2LamerOnLine:
А нах вообще нужен милень? Кажется это 98 с новым пакетом глюков. Разве не лучше уж 98SE?
Вопрос не риторический - очень интересно, т.к. на линолеуме долго не сидел.
Номер ответа: 5
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #5
Добавлено: 23.09.05 11:34
А нах вообще нужен милень? Кажется это 98 с новым пакетом глюков. Разве не лучше уж 98SE?
Это у кого как У меня МЕ всегда работал стабильно, глюков по сравнению с 98 вообще не было. Для старого софта он даже надежнее 2к.
Наверное, зависит от того насколько криво его ставить У меня уж сколько лет стоит - доволен. Хотя, конечно, раз в полтора года переставляю - мусор набивается Ща две оси стоит - 2к (альтернатива) и МЕ - рулезная весчь!
Номер ответа: 6
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #6
Добавлено: 23.09.05 18:12
Используемые функции:
VB:
Line
LoadResPicture
PaintPicture
API:
DrawTextEx.
Вот список функций, которыми реализована прорисовка кнопочки. А бяка возникает сразу при появлении диалогового окна (но как ни странно, не любое диалоговое окно глючит). Одним из сильнейших стимулов к такому поведению является перемещение диалогового окна, что заставляет прорисовываться кнопки на главной форме.
Номер ответа: 7
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #7
Добавлено: 24.09.05 11:27
Ты там с parent hWnd инчего напутать не мог? Или с hDc?
Номер ответа: 8
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #8
Добавлено: 24.09.05 20:49
Мог. Были попытки найти. Выложил кнопку:
http://vt-dbnz.narod.ru/dbButton.ctl
http://vt-dbnz.narod.ru/dbButton.ctx
Номер ответа: 9
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #9
Добавлено: 24.09.05 21:13
А чего бы не весь тестовый проект в архиве? Вдруг чего не хватает?
Номер ответа: 10
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #10
Добавлено: 26.09.05 01:47
Скинул архив тестовой версии программы.
Я точно знаю что я забыл выложить - .res-файл с рисунками.
Смотрите. http://vt-dbnz.narod.ru/CurrentVersion.rar (497кб)
Номер ответа: 11
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #11
Добавлено: 05.10.05 19:43
Проблему решил!
Дело было в том, что в коде MouseDown, MouseMove, MouseUp вызывались графические методы. Убрал, и все стало прекрасно.
Номер ответа: 12
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #12
Добавлено: 05.10.05 21:35
если постоянно в MouseMove чё-то рисовать - мигание обеспечено
Номер ответа: 13
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #13
Добавлено: 06.10.05 20:53
А кто сказал, что я рисую на каждом MouseMove?
Я рисую когда юзер уводит мышь за кнопку - она отпускается. И когда приводит обратно - вдавливается. И никакого мигания, об этом я позаботился.
Номер ответа: 14
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #14
Добавлено: 06.10.05 21:11
ну малацца