Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Фоновый рисунок и проблема с BitBlt
|
|||
|---|---|---|---|
|
#18+
Добрый день! Помогите кто может знает, вроде задача простая, а вот что-то реализовать никак не получается. Нужно разместить изображение по центру формы при чем, при изменении размеров картинка не косячилась и оставалась так же по центру формы. Делаю так кидаю на форму TImage, загружаю в дизайнтайме картинку BMP, Visible ставлю в FALSE. В событии формы OnPaint следующий код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. При запуске приложения сразу картинка нормально встает по центру, но вот при изменении размеров формы изображение глючит, затирается. Уже что только не перепробовал. Если новые координаты TOP и LEFT поставить в нули, то все работает, отрисовывает без глюков при изменении размеров формы только в левом верхнем углу, а не там где мне надо. Подскажите может кто знает что я делаю не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2013, 08:23 |
|
||
|
Фоновый рисунок и проблема с BitBlt
|
|||
|---|---|---|---|
|
#18+
Deus_ex_Делаю так кидаю на форму TImage, загружаю в дизайнтайме картинку BMP, Visible ставлю в FALSE. Зачем? Visible оставь в true, Stretch поставь false, Center опять true. Всё, телемаркет - справка рулит. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2013, 13:31 |
|
||
|
Фоновый рисунок и проблема с BitBlt
|
|||
|---|---|---|---|
|
#18+
Deus_ex_, Не подскажу по коду, но по логике перед тем как рисовать картинку снова, надо ее стереть (Clear()-?) - очистить форму, а потом рисовать заново. Лучше поместить картинку в контейнер (PictureBox -?), а контейнер двигать. Если например в используемой тобой среде есть что-то типа AutoRedraw для контрола-контейнера. рисуешь, то имеет смысл этим воспользоваться. Как-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2013, 13:42 |
|
||
|
Фоновый рисунок и проблема с BitBlt
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Так работает если только FormStyle = fsNormal, если FormStyle = fsMDIForm, то не работает, надо как то перерисовывать, пока остановился на первом варианте с MDI так и непонятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2013, 05:19 |
|
||
|
Фоновый рисунок и проблема с BitBlt
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Deus_ex_, Не подскажу по коду, но по логике перед тем как рисовать картинку снова, надо ее стереть (Clear()-?) - очистить форму, а потом рисовать заново. Лучше поместить картинку в контейнер (PictureBox -?), а контейнер двигать. Если например в используемой тобой среде есть что-то типа AutoRedraw для контрола-контейнера. рисуешь, то имеет смысл этим воспользоваться. Как-то так. По логике то вроде так, но ват как это написать :) у канваса формы нет метода Clear :) а в ручную закрашивать эт мне кажется плохое решение, костыльное, хотя может единственно возможное в данном решение задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2013, 05:23 |
|
||
|
Фоновый рисунок и проблема с BitBlt
|
|||
|---|---|---|---|
|
#18+
Deus_ex_, Годится для очистки? PatBlt(Handle, // Handle Canvas'а 0, // начальная координата по X 0, // начальная координата по Y Width, // конечная координата по X Height, // конечная координата по Y WHITENESS // как закрашивать ); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2013, 13:16 |
|
||
|
Фоновый рисунок и проблема с BitBlt
|
|||
|---|---|---|---|
|
#18+
Deus_ex_Так работает если только FormStyle = fsNormal, если FormStyle = fsMDIForm, то не работает Так ты хочешь просто фоновый рисунок для главной MDI формы? Так бы и сказал. Для этого достаточно поиграться с её Brush-ем, одна строчка кода. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2013, 13:26 |
|
||
|
Фоновый рисунок и проблема с BitBlt
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovDeus_ex_Так работает если только FormStyle = fsNormal, если FormStyle = fsMDIForm, то не работает Так ты хочешь просто фоновый рисунок для главной MDI формы? Так бы и сказал. Для этого достаточно поиграться с её Brush-ем, одна строчка кода. да, так и хочу, но он небольшой и должен быть всегда по центру даже при ресайзе формы. А есть примерчик такой строчки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2013, 14:02 |
|
||
|
Фоновый рисунок и проблема с BitBlt
|
|||
|---|---|---|---|
|
#18+
pirovindos, спасибо, если других способов не найду буду пробовать через очистку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2013, 14:03 |
|
||
|
Фоновый рисунок и проблема с BitBlt
|
|||
|---|---|---|---|
|
#18+
Deus_ex_А есть примерчик такой строчки? В справку совершенно лень заглянуть?.. Код: sql 1. 2. [/quot] Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2013, 14:10 |
|
||
|
Фоновый рисунок и проблема с BitBlt
|
|||
|---|---|---|---|
|
#18+
pirovindos, если ты в API (PatBlt и т.д.) залез, то через API (как вариант) и стирай, чего бояться то. Я тебе дал общий совет, потому что когда-то с подобным возился . Но заметь, что у меня были все инструменты для того чтобы присвоить картинку контролу в конструкторе (без API), и без глюков при перерисовке. И у тебя такие инструменты возможно тоже есть, я не знаю. Просто в моем случае древний VB6 конструктор не поддерживает 32-битные иконки, и только поэтому я рисовал иконку ручками на hdc. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2013, 14:46 |
|
||
|
Фоновый рисунок и проблема с BitBlt
|
|||
|---|---|---|---|
|
#18+
сорри, неправильно указал автора топика в предыдущем сообщении ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2013, 14:47 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38385363&tid=2019998]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 281ms |
| total: | 424ms |

| 0 / 0 |
