Вверх ↑
Этот топик читают: Гость
Ответов: 246
Рейтинг: 13
#1: 2010-12-01 23:21:45 ЛС | профиль | цитата
Понадобилось создать свою кнопку и, так как похожих кнопок будет уйма, решил создать кнопку с изменяемыми параметрами, да вот при отрисовки кнопки при наведении на нее, надпись или не отображается, или мерцает при перемещении в области кнопки. Как можно решить эту проблему? Схема в аттаче.
карма: 0

0
файлы: 1button_by_hardcore_v.0.7.sha [6.6KB] [453]
Разработчик
Ответов: 26113
Рейтинг: 2126
#2: 2010-12-01 23:26:27 ЛС | профиль | цитата
Обновиться по SVN. Эта проблема, связанная с MouseLeave и MouseEnter, уже давно устраненена. Обновить надо Win.pas, но лучше все
карма: 22

0
Ответов: 246
Рейтинг: 13
#3: 2010-12-01 23:27:43 ЛС | профиль | цитата
nesco, врятли, иначе бы не менялось состояние кнопки, а так не отрисовуется напрямую надпись, зато через таймер, но с мерцаниями.
карма: 0

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#4: 2010-12-01 23:31:25 ЛС | профиль | цитата
Hardcore писал(а):
врятли, иначе бы не менялось состояние кнопки

Раньше мерцало все и вся при наведении мыша. MouseEnter раньше работал как MouseMove. Сначала попробуй обновиться, затем посмотрим. Я, к примеру, ничего мерцающего не заметил
карма: 22

0
Ответов: 246
Рейтинг: 13
#5: 2010-12-01 23:34:12 ЛС | профиль | цитата
nesco, через таймер мерцания должно быть видно 100%, просто проблема в том, что напрямую(не через таймер) работать не желает ни в какую, состояние меняется, а надпись по новому не отрисовывается!
карма: 0

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#6: 2010-12-01 23:38:11 ЛС | профиль | цитата
Hardcore, все правильно, твой текст затирается графическим изображением, тк команда на перерисовку контрола дается из другой очереди событий, вот почему тебе помогает таймер
карма: 22

0
Ответов: 246
Рейтинг: 13
#7: 2010-12-01 23:50:38 ЛС | профиль | цитата
nesco, понятно, надо пробовать что-то другое, ИМХО таймер явно не катит... Спасибо nesco в который раз ставиш на путь истинный
карма: 0

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#8: 2010-12-01 23:51:41 ЛС | профиль | цитата
Попробуй отрисовать на контексте -- button_by_hardcore_v.0.8.sha, в таком случае, таймер будет не нужен
карма: 22

0
файлы: 1button_by_hardcore_v.0.8.sha [6.6KB] [422]
Ответов: 1376
Рейтинг: 197
#9: 2010-12-01 23:54:59 ЛС | профиль | цитата
Можно и границами попуститься...
code_21667.txt
карма: 1

0
файлы: 1code_21667.txt [5.4KB] [342]
Разработчик
Ответов: 26113
Рейтинг: 2126
#10: 2010-12-01 23:58:06 ЛС | профиль | цитата
foksov писал(а):
Можно и границами попуститься...

А они что, мешают
карма: 22

0
Ответов: 1376
Рейтинг: 197
#11: 2010-12-01 23:59:07 ЛС | профиль | цитата
Я про события от них...
карма: 1

0
Ответов: 246
Рейтинг: 13
#12: 2010-12-02 00:32:02 ЛС | профиль | цитата
foksov, там граница в 3 пикселя и будет неприятно если в нее кто-то попадёт и она не будет работать
карма: 0

0
12
Сообщение
...
Прикрепленные файлы
(файлы не залиты)