Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ViewStyle в TreeView, Срочно 
:(
    Опции темы
Red Wind
Дата 1.5.2005, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 280
Регистрация: 25.6.2004
Где: Минск

Репутация: нет
Всего: 2



Скажите пожалуйста, есть ли какой-нибудь TreeView компонент, в котором можно задавать ViewStyle (например, vsIcon и vsSmallIcon), как в ListView? Или, как это можно сделать самому, но малой кровью - время поджимает.
PM MAIL ICQ   Вверх
dvamaster
Дата 2.5.2005, 06:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 559
Регистрация: 30.6.2004
Где: Россия : Курган

Репутация: 3
Всего: 10




Может создать два ImageList'а с картинками различных размеров и просто подставлять Images или StateImages.


--------------------
Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/

Что же я сделал не так? /Король Лир/

Я делаю это для твоего же блага! /Любой родитель и палач/

PKUNZIP.ZIP /неизвестный/
PM MAIL WWW ICQ   Вверх
Guest
Дата 2.5.2005, 23:31 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











dvamaster, у меня не получилось заставить отображать TreeView картинки размером больше чем 16*16. Или я тебя неправильно понял?
  Вверх
Yanis
Дата 3.5.2005, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(Guest @ 2.5.2005, 23:31)
dvamaster, у меня не получилось заставить отображать TreeView картинки размером больше чем 16*16. Или я тебя неправильно понял?

Может причина в том, что 16x16 это размеры картинок по умолчанию у TImageList. В инспекторе объектов можно поменять ширину и высоту изображений.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
~FoX~
Дата 4.5.2005, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Да никаких проблем:
В ImageList картинки 32*32
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  MNode         : TTreeNode;
  DownNode : TTreeNode;
begin
  TreeView1.Images := ImageList1;
  TreeView1.StateImages := ImageList1;
  MNode  := TreeView1.Items.Add(nil, 'MyNode');
  MNode.ImageIndex := 0;
  DownNode := TreeView1.Items.AddChild(MNode, 'MySubNode');
  DownNode.ImageIndex := 1;
  DownNode.SelectedIndex := -1;
  TreeView1.FullExpand;
end;


Это сообщение отредактировал(а) ~FoX~ - 4.5.2005, 09:14


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Red Wind
Дата 4.5.2005, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 280
Регистрация: 25.6.2004
Где: Минск

Репутация: нет
Всего: 2



М-да... Я делал по-другому. А можно ли, разместить изображение над текстом?
PM MAIL ICQ   Вверх
~FoX~
Дата 5.5.2005, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Red Wind
Можно, но это немножко другая история.
Смысл в том, что при появлении итема, ты получаешь его координаты, от них отсчитываешь сколько тебе нужно(справа, слева, сверху, снизу) и рисуешь на канве твоего ТриВайва, при этом надпись надо подвинуть в нужную сторону, чтоб видна была.
Для Tree писать линиво на пример для листбокса, но смысл тот же
Код

var
  Bitmap: TBitmap;
  Offset: Integer;
  BMPRect: TRect;
begin
  with TListBox1.Canvas do
  begin
    FillRect(Rect);
    Bitmap := TBitmap.Create;
    ImageList1.GetBitmap(4, Bitmap);
    Offset := 0;
    if Bitmap <> nil then
    begin //Вот тут считаем координаты расположения картиники
      BMPRect := Bounds(Rect.Left+2, Rect.Top+2, (Rect.Bottom-Rect.Top-2), Rect.Bottom-Rect.Top-2);
      BrushCopy(BMPRect,Bitmap, Bounds(0, 0, Bitmap.Width, Bitmap.Height),
      Bitmap.Canvas.Pixels[0, Bitmap.Height-1]);
      Offset := (Rect.Bottom-Rect.Top+1)+3;
    end;
    TextOut(Rect.Left+Offset, Rect.Top, ListBox1.Items[index]); //А тут мы воводим затертую надпись
    Bitmap.Free;
  end;
end;



--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Гость_Red Wind
Дата 6.5.2005, 23:24 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо за помощ! smile
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0544 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.