|
|
|
Простой вопрос по TTreeView
|
|||
|---|---|---|---|
|
#18+
Хочу, чтобы мое дерево имело фоновый рисунок. Попытка вставить его через канвас ничего не дала почему-то, а рисунок лежит в TImageList. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2004, 15:07 |
|
||
|
Простой вопрос по TTreeView
|
|||
|---|---|---|---|
|
#18+
Боюсь, дерево не заточено под рисунки в фоне. (может на счёт билдера я и ошибаюсь) Надо пробовать делать subclass. То бишь перехватывать функцию обработки окна на WM_PAINT, рисовать картинку, а потом отпралять дальше. Я так делал. Тока не с деревом(а без разницы с чем делать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2004, 16:26 |
|
||
|
Простой вопрос по TTreeView
|
|||
|---|---|---|---|
|
#18+
CEMb писалБоюсь, дерево не заточено под рисунки в фоне. (может на счёт билдера я и ошибаюсь) Надо пробовать делать subclass. То бишь перехватывать функцию обработки окна на WM_PAINT, рисовать картинку, а потом отпралять дальше. Я так делал. Тока не с деревом(а без разницы с чем делать) http://www.codeguru.com/treeview/background_image.shtml ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2004, 17:58 |
|
||
|
Простой вопрос по TTreeView
|
|||
|---|---|---|---|
|
#18+
На Buildere можно немного покороче: На OnCustomDraw пишем: Graphics::TBitmap *Bitmap = new Graphics::TBitmap; Bitmap->LoadFromFile("c:\\windows\\облака.bmp"); TreeView1->Canvas->Brush->Bitmap = Bitmap; TreeView1->Canvas->FillRect(ARect); На OnCollapsed и OnExpanded: TreeView1->Invalidate(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2004, 18:57 |
|
||
|
Простой вопрос по TTreeView
|
|||
|---|---|---|---|
|
#18+
TreeView1->Invalidate(); Говорит о том, что пора перерисовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2004, 21:10 |
|
||
|
Простой вопрос по TTreeView
|
|||
|---|---|---|---|
|
#18+
Спасибо, попробую, как описано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2004, 22:08 |
|
||
|
Простой вопрос по TTreeView
|
|||
|---|---|---|---|
|
#18+
Ну, типа, получилось. Но: - мелькает сильно при перерисовке; - Фон под текстом остается белым. (Это, кстати, билдер). Как от этого избавиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 00:35 |
|
||
|
Простой вопрос по TTreeView
|
|||
|---|---|---|---|
|
#18+
мелькает сильно при перерисовке У меня не мелькало. Видимо видеокарта с ускорителем играет роль. Для предотвращения мелькания можно поработать с OnCollapsed и OnExpanded. Вместо TreeView1->Invalidate(); Надо сделать InvalidateRect на область расширения или коллопса. Фон под текстом остается белым Надо поиграть с событием OnCustomDrawItem. Слелать там прозрачную кисть. Сам смогу сесть разбираться только после 18-00 по москве. Если к тому времени не сделаете пишите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 09:25 |
|
||
|
Простой вопрос по TTreeView
|
|||
|---|---|---|---|
|
#18+
В штатной поставке Buildera есть пример: C:\Programs files\Borland\CBuilder5\Examples\CustomDraw там дерево рисуется в разных видах, в том числе и поверх рисунка, правда капитально разбираться было некогда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 18:36 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32419889&tid=2035361]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 197ms |
| total: | 350ms |

| 0 / 0 |
