![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
любитель-далеко не
Участник клуба
Регистрация: 13.04.2010
Сообщений: 1,156
|
![]()
Здравствуйте уважаемые форумчане ))
я создал процедуру, которая, по-идее должна рисовать дерево(данные, собранные в динамическую структуру) на форме. подобно она процедуре формирования дерева- рекурсивна. Так вот что-то не работает....не знаю почему (не рисует ни одной чёрточки) Я запускал программу пошагово, компилятор (можно так сказать? ) заходит в процедуру и проходит в ней все необходимые команды, но дерево не рисуется (на form2 из юнита holst.pas). Может просто цвет каким-то образом совпадает с цветом фона ? Прикрепляю архив. А вот это код рекурсивной процедуры (которая как-бы должна рисовать) из юнита risdereva.pas: Код:
Последний раз редактировалось vedro-compota; 13.05.2010 в 11:34. Причина: чтоб понятней было 0))) |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
положите Image на форму и нарисуйте на нем.
потому что вообще то надо рисовать каждый раз когда обновляется окно. буфера нет(изначально ![]() Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Можно проще - вызывать эту процедуру в OnPaint контрола, на котором рисуется. В данном случае формы.
I'm learning to live...
|
![]() |
![]() |
![]() |
#4 | ||
любитель-далеко не
Участник клуба
Регистрация: 13.04.2010
Сообщений: 1,156
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
у вас есть кадр, надо каждый раз подставлять новый.
почитать...хм...ну WinAPI, там поймете все это. насчет слов Виталия. у формы есть событие OnPaint именно в нем вызывайте процедуру прорисовки дерева. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#6 |
любитель-далеко не
Участник клуба
Регистрация: 13.04.2010
Сообщений: 1,156
|
![]()
положил на форму Image, и изменил часть кода процедуры рисования. теперь так:
Код:
прикреплю изменённый архив. |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
Вот поправил. Один раз в проверке, один раз перед созданием. Осталось исправить работу функции, но это уже не мои заботы =)
|
![]() |
![]() |
![]() |
#8 |
любитель-далеко не
Участник клуба
Регистрация: 13.04.2010
Сообщений: 1,156
|
![]()
Вижу, что изменён изначальные параметр "х" (теперь он равен половине ширины формы) но в чём ключевое изменение - не понимаю....)) почему теперь рисует?
|
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
Нет, форму можно и скрыть. Забыл убрать) В функции не задвались X и Y, и поэтому в функцию вместо Y передавалось большое число, и рисовалось всё за формой.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужна программа рисующая схему базы MySQL | veter_s_morya | Софт | 3 | 28.12.2010 19:03 |
Процедура в процедура в C++ Builder | Ecosasha | C++ Builder | 2 | 06.06.2009 17:17 |
Дерево | MAcK | Общие вопросы Delphi | 7 | 13.06.2008 17:30 |
Дерево | Rifler | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 06.05.2008 08:42 |
Есть ли прога рисующая алгоритмы? | Cyberbest | Помощь студентам | 6 | 04.05.2008 21:25 |