|
Как перерисовать API-Trackbar (слайдер)
|
|||
---|---|---|---|
#18+
Попробую объяснить ситуацию. "Прозрачность" слайдера достигается за счет перерисовки фона по получению WM_CTLCOLORSTATIC родителем: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Я сейчас добавил возможность менять/убирать фоновую картинку. Соответственно когда я это делаю, у меня BackGraund слайдера hwndTrackBar должен перерисоваться. Ну т.е. после применения новой фоновой картинки (или когда я сказал ее использовать, или не использовать), я должен как-то "дернуть" слайдер, чтоб он сгенерировал WM_CTLCOLORSTATIC (хочу перерисовать свой фон). У меня это не получается. Т.е. пока не стукнул по слайдеру мышью (например), он не перерисовывается. Если бы был чистый VB-слайдер, я бы сделал Код: vbnet 1.
и перерисовка фона бы сработала. Я уже часа 3 пытаюсь играться с RedrawWindow c разными параметрами UpdateWindow ShowWindow InvalidateRect соотв. пытаюсь "обновить" hwndTrackBar и ни фига - не обновляет фон. Чего делать, как его "передернуть" чтоб он захотел перерисовать фон? hwnd вроде тот. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2013, 04:25 |
|
Как перерисовать API-Trackbar (слайдер)
|
|||
---|---|---|---|
#18+
Получилось наконец. Но только передергиванием стиля: Код: vbnet 1. 2.
Вот странно что ни один другой метод не вызвал нужной реакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2013, 04:44 |
|
|
start [/forum/topic.php?fid=60&gotonew=1&tid=2157003]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 173ms |
0 / 0 |