Вниз
Скачать: CL | DM;

Начинаю дорисовывать в TreeNode - шрифт меняется!   Найти похожие ветки 

← →
miDDTrich ©   (2002-07-04 15:43) [0]

Добрый день,

Хочу дорисовать немного графики справа от текста TreeNode.

То, как стандартно отрисовываются и ветки и узлы и текст меня вполне устраивает, т.е. я поставил DefaultDraw:=True и не хочу усложнять себе жизнь ;-)

Все замечательно, пока я не начинаю рисовать (LineTo). После первой моей линии дефолтовый шрифт, которым выводятся элементы
(Arial,8pt, вроде) неожиданно меняется во всем TreeView на какой-то Times,11pt,Bold...

Подскажите, можно ли не рисовать ручками (DefaultDraw:=False), если просто нужно чуть-чуть дорисовать? Спасибо!


← →
qube ©   (2002-07-04 15:48) [1]

Кусок исходника приведи?


← →
miDDTrich ©   (2002-07-04 16:13) [2]

Собственно, исходника-то нету ;-)

procedure TForm1.tvAdvancedCustomDrawItem();
begin
with tv.Canvas do
begin
DefaultDraw:=True;
NodeRect:=Node.DisplayRect(False);
MoveTo(NodeRect.Left+20,NodeRect.Top+5);
// LineTo(NodeRect.Right, NodeRect.Top+5);

Так все в порядке.

Если раскомментировать последнюю строку, то рисуется горизонтальная линия, а весь шрифт TTreeView становится ужасным болдом.

Посмотреть можно здесь:
http://www.mitrich.ru/1.gif
http://www.mitrich.ru/2.gif


← →
qube ©   (2002-07-04 16:39) [3]

Вот это помогло:
Font.Name := "MS Sans serif";


← →
miDDTrich ©   (2002-07-04 16:58) [4]

Действительно, помогло прописывание Canvas.Font.Name при каждом вызове AdvancedCustomDrawItem().

Спасибо!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
8-47620
OlegGo
2002-01-30 18:06
2002.07.15
Как узнать цвет пиксела в определенной точке TImage?


1-47315
SDv-503
2002-07-01 00:17
2002.07.15
Как программно нажать на .... (+)


1-47365
Юра
2002-07-02 01:58
2002.07.15
ListBox


8-47619
Королев
2002-03-06 08:51
2002.07.15
Как подключать DirectX8.1 SDK к Delphi?


14-47697
Забыл
2002-06-17 19:06
2002.07.15
Есть тут кул хацкеры?




   Наверх