Riedle |
Отправлено: 04.11.2003, 20:11 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9
|
Привет Всем!
Подскажите пожалуйста, кто знает !
Я через SetWindowLong(); установил TVS_CHECKBOXES.
Теперь TTreeView выглядит с CheckBox!
Подскажите, пожалуйста, а как просмотреть какие узлы выделены и как с них получить текст и узнать их индекс.
Заранее спасибо! |
|
** pasha |
Отправлено: 04.11.2003, 20:25 |
|
Не зарегистрирован
|
CODE |
TTreeNode* Tn = TreeView1->Selected; // выделенный узел
AnsiString s = TreeView1->Selected->Text; // его текст
| |
|
Riedle |
Отправлено: 05.11.2003, 16:47 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9
|
Спасибо!
А как мне программно подчеркнуть узлы ?
|
|
Riedle |
Отправлено: 06.11.2003, 16:31 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9
|
Народ , неужели никто не знает как узлы программно подчеркнуть ?
Заранее благодарен! |
|
Admin |
Отправлено: 06.11.2003, 21:11 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Установите свойство HotTrack = true;
Будут выделятся 'горячие' узлы и ветки.
---
Или смотрите событие CustomDrawItem,
в нем и делайте что хотите.
(в Help к этому событию есть пример, посмотрите)
CODE |
// выделяем цветом все узлы
void __fastcall TForm1::TreeView1CustomDrawItem(TCustomTreeView *Sender,
TTreeNode *Node, TCustomDrawState State, bool &DefaultDraw)
{
if (Node->HasChildren)
{
TreeView1->Canvas->Brush->Color = clYellow;
}
}
|
CODE |
// подчеркиваем все узлы
void __fastcall TForm1::TreeView1CustomDrawItem(TCustomTreeView *Sender,
TTreeNode *Node, TCustomDrawState State, bool &DefaultDraw)
{
if (Node->HasChildren)
{
TreeView1->Canvas->Font->Style.Clear();
TreeView1->Canvas->Font->Style = TFontStyles()<<fsUnderline;
}
}
//----------------------------------------
|
Отредактировано Admin — 06/11/2003, 22:18
|
|