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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2016, 15:14   #11
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А там и правда на цвет реакция что-то не то. Так нормуль
Код:
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
var Rect: TRect;
    bmp: TBitmap;
begin
  Rect:=Node.DisplayRect(True);  //область отображения текста нода на канвас тривью
  bmp:=TBitmap.Create;
  bmp.Width:=Rect.Right-Rect.Left;      //размеры битмапа в соответствии с Rect
  bmp.Height:=Rect.Bottom-Rect.Top;
  bmp.Canvas.Font.Assign(TreeView1.Canvas.Font);  //фонт такой же как у тривью
  bmp.Canvas.Font.Color := clRed;                           //цвет красный
  bmp.Canvas.TextOut(0,0,Copy(Node.Text,1,3));     //в битмап первых 3 символа
  bmp.Canvas.Font.Color := clBlack;                       //цвет черный
  bmp.Canvas.TextOut(bmp.Canvas.TextWidth(Copy(Node.Text,1,3)),0,Copy(Node.Text,4,Length(Node.Text))); //в битмап остальные символы со смещением по ширине первых трех
  TreeView1.Canvas.CopyRect(Rect, bmp.Canvas, Classes.Rect(0,0,bmp.Width,bmp.Height)); //копирование битмапа в область текста для нода
  bmp.Free;  //усё
  DefaultDraw := False;
end;
Цитата:
TextOut( 10, 0
Там для каждого нода своя позиция на экране - Node.DisplayRect. И bmp можно только раз создать, а не для прорисовки каждого нода
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 23.05.2016 в 15:36.
Аватар вне форума Ответить с цитированием
Старый 23.05.2016, 15:22   #12
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
что с функцией копи то не так??
нумерация символов - с 1, а не с 0.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 23.05.2016, 15:28   #13
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

Аватар, я понимаю что наглею, но если не сложно не могли бы комментарий сделать к вашему коду.
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Старый 23.05.2016, 15:35   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

В #11 накоментировал
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 23.05.2016, 15:43   #15
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

спасибо большое.
я так понимаю все остальное я тоже в битмапе должен отрисовать
так??
Ладно все здорово спасибо думаю дальше сам до ковыряю.
Терпение!Дежурный экстрасенс скоро свяжется с вами!

Последний раз редактировалось Dvoishnik; 23.05.2016 в 15:45.
Dvoishnik вне форума Ответить с цитированием
Старый 24.05.2016, 15:45   #16
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

продолжаю извращаться с TV
как узнать расстояние от стенки от стенки TreeView до текста?

П.С. а еще лучше расстояние от Правого края монитора.

вопрос закрыт внимательно перечитал пост #11
Изображения
Тип файла: jpg Безы1.jpg (3.8 Кб, 150 просмотров)
Терпение!Дежурный экстрасенс скоро свяжется с вами!

Последний раз редактировалось Dvoishnik; 24.05.2016 в 15:52.
Dvoishnik вне форума Ответить с цитированием
Старый 24.05.2016, 15:55   #17
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Ты задолбал. В хэлпе всё есть.

Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заменить в файле все первые буквы в словах на заглавные буквы Luchfan12 Помощь студентам 6 15.10.2014 13:10
Во введенной строке поменять первые буквы каждого слова на прописные Эйфория=* Общие вопросы Delphi 25 10.06.2013 17:18
Оставить Только Первые Буквы Слов В Предложении PDiddy Microsoft Office Excel 5 30.04.2013 07:17
Как получить первые буквы из слов в предложении? artemavd Общие вопросы Delphi 18 23.12.2012 00:01
выделить первые буквы по которым можно прочитать слово андрей.... Помощь студентам 0 21.12.2012 17:10