![]() |
|
|
![]()
|
|
| =Женек= |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: 1 Всего: 1 |
Господа, начал я вопрос в предыдущей теме, но поскольку одна проблема переросла в другую, сосздаю новую тему.
Задача: Создать на TForm1 изображение TImage, TButton. ПРограмма должна рисовать дугу при активации формы и при нажатии на кнопку (естественно в разных местах). И обращаться к процедуре рисования нужно как непосредственно так и через свою собственную процедуру. Вот код:
По совету уважаемого Alca я глобализовал графические переменные, дабы не передавать их из функции в функцию. Как работает код? В том виде в котором я привел - не рисует нигде - только появляется белая канва. Если же перенести фрагмент
Из Fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner) { ... в обработчик FormCreate, то отрисовывает только те команды, которые в нем же и вызываются, все что в обработчике ButtonClick - не отрисовывается. Я ставил маячок в void PutArc - маячок срабатывает , то есть PutArc при нажатии на кнопку вызывается и команды в ней выполняются. ТОлько рисунка нет. И еще один маленький нюанс я использую визуальные компоненты TMS Software, которые активно используют GDI+. Если вы заметили у меня есть строка #pragma link "AdvSmoothPanel" Так вот если я убираю эту строку и все компоненты с формы, или же создаю проект заново не помещаю туда ничего кроме Image и Button, то код вообще не работает - ловлю "Access violation at address 00401c96... Read of address 0000008". Что делать и кто виноват? Добавлено через 5 минут и 23 секунды Вот хидер
|
||||||
|
|||||||
| SVN74 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 5.5.2008 Где: Комсомольск на Дн епре Репутация: 11 Всего: 18 |
||||
|
||||
| =Женек= |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: 1 Всего: 1 |
Мне нужно сглаживание линий в TCanvas это есть?
|
|||
|
||||
| =Женек= |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: 1 Всего: 1 |
Неужели никто не рисовал на GDI+ ничего сложнее одной линии?
|
|||
|
||||
| =Женек= |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 548 Регистрация: 20.2.2005 Репутация: 1 Всего: 1 |
Проблему решил, оказывается нужно добавлять Image->Invalidate(); и создавать новый _m_pgraphics каждый раз.
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |