Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2011, 20:54   #1
Manson_0
 
Регистрация: 11.11.2011
Сообщений: 7
Сообщение Прорисовка TreeView в Canvas

Добрый день!
Прошу помощи. Нужно представить дерево данных в графическом виде, через канвас.
Что-то подобное этому:
Само дерево написано и работает верно. Проблема в том, что с канвасом ранее не работал, пару дней пытаюсь заставить рисовать дерево, но, увы, ничего не выходит...

Элементы в дереве задаются через Random.

Код:
procedure TBinaryTree.N6Click(Sender: TObject);
var i,k:Integer; n:String;
begin
   Randomize;
   n:='';
   if not InputQuery('Random', 'Number of elements',n) then exit;
for i:=1 to abs(StrToInt(n)) do
   begin
     k:=Random(100);
     TreeView1.Items.Add(nil, IntToStr(k));
   end;
end;

procedure TBinaryTree.N21Click(Sender: TObject);
var i,k:Integer; n:String;
begin
   Randomize;
   n:='';
   if not InputQuery('Random', 'Number of elements',n) then exit;
for i:=1 to abs(StrToInt(n)) do
   begin
     k:=Random(100);
     TreeView1.Items.AddChild(TreeView1.Selected, IntToStr(k));
   end;
end;

Последний раз редактировалось Manson_0; 12.11.2011 в 21:04.
Manson_0 вне форума Ответить с цитированием
Старый 17.11.2011, 14:50   #2
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Что-то я так и не понял причем здесь канва. Но если дело действительно только в этом, то примерно так:

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Circle(50, 50, 10);
  Circle(100, 100, 10);
end;

procedure TForm1.Circle(x, y, r: integer);
var
  x1, y1, x2, y2: integer;
begin
  x1 := x - r;
  x2 := x + r;

  y1 := y - r;
  y2 := y + r;

  Form1.Canvas.Ellipse(x1, y1, x2, y2);
end;
Баламут вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
canvas zloysadovod Мультимедиа в Delphi 0 19.05.2011 09:14
canvas+js alexander1111 JavaScript, Ajax 2 25.03.2011 17:06
[canvas] Fiery Fox Мультимедиа в Delphi 3 22.02.2011 02:28
Canvas Servo Мультимедиа в Delphi 0 22.06.2010 18:58
Canvas Jai Общие вопросы Delphi 7 15.05.2009 13:11