| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Заливка Канвы при запуске программы |
| Автор: NosfBlazE 12.3.2010, 20:11 | ||
| Есть простенькая программка, которая представляет собой Форму, на которую кинут PaintBox. Пытаюсь при запуске программы сразу же залить PaintBox и что-нибдуь на нем нарисовать.
Т.е. все просто: на событие onShow главной Формы цепляю все это, но, увы, ничего не происходит. Если же кинуть на форму еще какую-то кнопку и повесить все это на ее клик, то работает как надо. Но я хочу работать с канвой без вмешательства пользователя.)) В чем может быть проблема, может быть, можно как-то по-другому сделать то, что я хочу? В общем, жду совета, а то сам я еще неочень разбираюсь в Делфи. |
| Автор: Frees 12.3.2010, 20:12 |
| повесь это на OnPaint формы.. |
| Автор: NosfBlazE 12.3.2010, 20:35 |
| С onPaint работает, не спорю Вот если бы можно было заставить онПеинт сработать только 1 раз при старте программы... Тут я пытался поставить булевский флаг, который в онПеинте после работы с канвой менял, но тогда все возвращалось к тому, с чего начиналось: канва при старте проги оставалась неизменной. |
| Автор: Frees 12.3.2010, 20:37 |
| все рисование должно быть в он паинте... что у тебя затирается не пойму, объясни... |
| Автор: NosfBlazE 12.3.2010, 20:55 |
| Тогда рассказываю более подобно. Пасиб, что хоть слушаете В программе есть ПеинтБокс и кнопки, с помощью которых происходит рисование на этом ПеинтБоксе. Однако, в процессе работы программы некоторые кнопки делаются активными/неактивными. В этот то момент и срабатывает событие онПеинт главной формы, которое выводит начальную заливку и рисунок нашего ПеинтБокса, что были установлены при запуске программы. И все результаты последующей работы с ПеинтБоксом затираются. |
| Автор: Frees 12.3.2010, 21:18 | ||
| рисуй в Tbitmap а в событии OnPain у PaintBox1 рисуй содержимое bitmap на канве PaintBox1 Добавлено через 13 минут и 39 секунд пример
|
| Автор: NosfBlazE 12.3.2010, 21:35 |
| Ясно, спасибо большое. Пойду тогда все переделывать |