|
|
|
Простой вопрос по TTreeView
|
|||
|---|---|---|---|
|
#18+
Хочу, чтобы мое дерево имело фоновый рисунок. Попытка вставить его через канвас ничего не дала почему-то, а рисунок лежит в TImageList. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2004, 15:07:21 |
|
||
|
Простой вопрос по TTreeView
|
|||
|---|---|---|---|
|
#18+
Боюсь, дерево не заточено под рисунки в фоне. (может на счёт билдера я и ошибаюсь) Надо пробовать делать subclass. То бишь перехватывать функцию обработки окна на WM_PAINT, рисовать картинку, а потом отпралять дальше. Я так делал. Тока не с деревом(а без разницы с чем делать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2004, 16:26:03 |
|
||
|
Простой вопрос по TTreeView
|
|||
|---|---|---|---|
|
#18+
CEMb писалБоюсь, дерево не заточено под рисунки в фоне. (может на счёт билдера я и ошибаюсь) Надо пробовать делать subclass. То бишь перехватывать функцию обработки окна на WM_PAINT, рисовать картинку, а потом отпралять дальше. Я так делал. Тока не с деревом(а без разницы с чем делать) http://www.codeguru.com/treeview/background_image.shtml ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2004, 17:58:00 |
|
||
|
Простой вопрос по 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:48 |
|
||
|
Простой вопрос по TTreeView
|
|||
|---|---|---|---|
|
#18+
TreeView1->Invalidate(); Говорит о том, что пора перерисовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2004, 21:10:13 |
|
||
|
Простой вопрос по TTreeView
|
|||
|---|---|---|---|
|
#18+
Спасибо, попробую, как описано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2004, 22:08:46 |
|
||
|
Простой вопрос по TTreeView
|
|||
|---|---|---|---|
|
#18+
Ну, типа, получилось. Но: - мелькает сильно при перерисовке; - Фон под текстом остается белым. (Это, кстати, билдер). Как от этого избавиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 00:35:59 |
|
||
|
Простой вопрос по TTreeView
|
|||
|---|---|---|---|
|
#18+
мелькает сильно при перерисовке У меня не мелькало. Видимо видеокарта с ускорителем играет роль. Для предотвращения мелькания можно поработать с OnCollapsed и OnExpanded. Вместо TreeView1->Invalidate(); Надо сделать InvalidateRect на область расширения или коллопса. Фон под текстом остается белым Надо поиграть с событием OnCustomDrawItem. Слелать там прозрачную кисть. Сам смогу сесть разбираться только после 18-00 по москве. Если к тому времени не сделаете пишите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 09:25:03 |
|
||
|
Простой вопрос по TTreeView
|
|||
|---|---|---|---|
|
#18+
В штатной поставке Buildera есть пример: C:\Programs files\Borland\CBuilder5\Examples\CustomDraw там дерево рисуется в разных видах, в том числе и поверх рисунка, правда капитально разбираться было некогда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2004, 18:36:28 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32421866&tid=2035361]: |
0ms |
get settings: |
14ms |
get forum list: |
21ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
47ms |
get topic data: |
17ms |
get forum data: |
5ms |
get page messages: |
96ms |
get tp. blocked users: |
3ms |
| others: | 323ms |
| total: | 538ms |

| 0 / 0 |
