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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Индексы, Теперь тока нижние 
:(
    Опции темы
Полудненко Олег
Дата 29.12.2003, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Українець
**


Профиль
Группа: Участник...
Сообщений: 556
Регистрация: 13.8.2003

Репутация: 1
Всего: -11



Перешёл в финальную версию тестирования своего квалификационного проекта...
Остался один баг: мне просто необходимо в компоненте типа ListView выводить названия элементов с нижними индексами.
Хто может, пожалста помогите!!!!!!!!!!!!!!!!!!
Заранее спасибо!!!!!!!!!!!
PM MAIL   Вверх
Vit
Дата 30.12.2003, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Индексы - это твоя карма! Для ListView наверное выход только один - перехватывать onPaint и самому рисовать...


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
p0s0l
Дата 30.12.2003, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Или использовать OnAdvancedCustomDraw.../OnCustomDraw...



--------------------
С уважением, г-н Посол.
PM   Вверх
Fedor
Дата 30.12.2003, 03:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


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

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



Полудненко Олег Да... Нагеморишься ты еще с ними... Сочувствую... Хотя, мне тож еще багов куча.


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
Полудненко Олег
Дата 30.12.2003, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Українець
**


Профиль
Группа: Участник...
Сообщений: 556
Регистрация: 13.8.2003

Репутация: 1
Всего: -11



Уточнение: работаю с TreeView.
p0s0l Тоесть ты имееш ввиду перерисовывать каждый item отдельно? Тогда можно ли как-нить определять высоту и ширину текста текущего item'a?
PM MAIL   Вверх
Полудненко Олег
Дата 30.12.2003, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Українець
**


Профиль
Группа: Участник...
Сообщений: 556
Регистрация: 13.8.2003

Репутация: 1
Всего: -11



confused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gif??
PM MAIL   Вверх
p0s0l
Дата 31.12.2003, 01:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



TreeView1.Canvas.TextWidth(Item.Text);
TreeView1.Canvas.TextHeight(Item.Text);
Ты про это ?



--------------------
С уважением, г-н Посол.
PM   Вверх
p0s0l
Дата 31.12.2003, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Вот набацал примерный пример.
Вешать на OnAdvancedCustomDrawItem:
Код
procedure TForm1.tv1AdvancedCustomDrawItem(Sender: TCustomTreeView;
 Node: TTreeNode; State: TCustomDrawState; Stage: TCustomDrawStage;
 var PaintImages, DefaultDraw: Boolean);
var
 s : string;
 p, dy : integer;
 LowIndex : boolean;
 Rect, Rect0 : TRect;
 c : TCanvas;
 bmp : TBitmap;
begin
 DefaultDraw := true;
 PaintImages := true;
 Rect := Node.DisplayRect(true);

 Rect0 := Rect;
 Dec (Rect0.Right, Rect0.Left);
 Rect0.Left := 0;
 Dec (Rect0.Bottom, Rect0.Top);
 Rect0.Top := 0;

 bmp := TBitmap.Create;
 bmp.Width := Rect0.Right;
 bmp.Height := Rect0.Bottom;
 c := bmp.Canvas;

 s := Node.Text + '^';
 tv1.Canvas.Font.Size := tv1.Font.Size;
 LowIndex := false;
 c.Font.Name := 'Courier New';
 repeat
   if LowIndex then
   begin
     c.Font.Size := tv1.Font.Size - 2;
     dy := 8;
   end
   else
   begin
     c.Font.Size := tv1.Font.Size;
     dy := 0;
   end;
   p := Pos('^', s);
   c.TextRect(Rect0, Rect0.Left, Rect0.Top + dy, Copy(s, 1, p-1));
   Inc (Rect0.Left, c.TextWidth(Copy(s, 1, p-1)));
   Delete (s, 1, p);
   LowIndex := not LowIndex;
 until Length(s) = 0;
 tv1.Canvas.Draw(Rect.Left, Rect.Top, bmp);
 bmp.Free;
end;

tv1 - TTreeView
Для обозначения смены индекса используется символ ^:
Т.е. формула воды: H^2^O

Вся эта лабуда из-за того, что почему-то у канваса TreeView не меняется размер и название шрифта во время OnAdvancedCustomDrawItem...



--------------------
С уважением, г-н Посол.
PM   Вверх
Полудненко Олег
Дата 31.12.2003, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Українець
**


Профиль
Группа: Участник...
Сообщений: 556
Регистрация: 13.8.2003

Репутация: 1
Всего: -11



p0s0l ОГРОМНОЕ СПАСИБО!!! Ща будем тестить!!!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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