Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

treeview


Артемка ©   (2008-04-24 18:08:00) 

я чет не воткнул как люди используют treeview, по нажатию на нод справа появляются как бы разные панели. как мне такое же сделать?


{RASkov}   (2008-04-24 21:29:00) [1]

> [11] Артемка   (24.04.08 20:05)
> в миллионный раз выручаешь!

Везет же тебе :)


{RASkov}   (2008-04-24 21:22:00) [2]

> [12] Артемка   (24.04.08 20:08)

Нужно убрать рамку?
Тогда попробуй PageControl1.Style:=tsButtons; или tsFlatButtons ...это без разницы.


Palladin   (2008-04-24 20:12:00) [3]


>Восхищенный (24.04.08 19:45) [10]

это не голословно, бо мое личное мнение. а за то что забыл добавить "имхо" за это извиняюсь ) вопрос более религиозный чем технический...


Артемка   (2008-04-24 20:08:00) [4]

уважаемые, если не трудно подскажите можно ли как изменить бордер у pagecontrol?
у остальных контролов есть свой-ва borderstyle,bevelkind, а у этого нет, как быть?


Артемка   (2008-04-24 20:05:00) [5]

Всем спасибо за ответы!
{RASkov}, в миллионный раз выручаешь! Отдельные благодарности тебе!!!


Восхищенный   (2008-04-24 19:45:00) [6]

> Palladin ©   (24.04.08 19:16) [7]

> решение использовать PageControl как набор страниц для переключения
> через treeview несколько ректально

Несколько голословно.

> сделать основную панель, а на нее уже закинуть переключаемые, всем
> сделать alClient, и организовать менеджер их видимости....

Что очень неудобно при создании содержимого панелей в design-time. Поэтому и впрямь ректально.


{RASkov}   (2008-04-24 19:24:00) [7]

> [6] Артемка   (24.04.08 19:11)
> только не знаю как сделать невидимым ярлык вкадок.

TTabSheet.TabVisible
Вот:
procedure TForm1.FormCreate(Sender: TObject);
var N: Integer;
begin
 for N:=0 to PageControl1.PageCount-1 do begin
  PageControl1.Pages[N].TabVisible:=False;
  ListBox1.Items.Add(PageControl1.Pages[N].Caption);
 end;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
 PageControl1.ActivePageIndex:=ListBox1.ItemIndex;
end;

только вместо ТриВью используется ЛистБокс...


Palladin   (2008-04-24 19:18:00) [8]

либо есть еще решение через TFrame, но я им жутко не доверяю...


Palladin   (2008-04-24 19:16:00) [9]

решение использовать PageControl как набор страниц для переключения через treeview несколько ректально... спрятать на деле не сложно... закинуть пагеконтрол на панель и сделать ему top:=-высота_закладки...

неректально, без использования скажем JEDI где есть отличный компонент TjvPagesList, нужно просто сделать основную панель, а на нее уже закинуть переключаемые, всем сделать alClient, и организовать менеджер их видимости....


Артемка   (2008-04-24 19:11:00) [10]

вроде все работает, только не знаю как сделать невидимым ярлык вкадок.


Артемка   (2008-04-24 18:45:00) [11]

спасибо, не внимательно прочитал предыдущ. пост.


Восхищенный   (2008-04-24 18:40:00) [12]

> Артемка   (24.04.08 18:28) [3]

Ведь сказал - при выборе нода. Это значит, что нужно написать обработчик события, а в нем - переключать вкладки. А ярлычки вкладок надо сделать невидимыми, чтобы юзер не мог переключать их по-своему.

Подсказка - чтобы знать, какую вкладку при выборе нода надо показать, удобно использовать свойство TTreeNode.Data.


Артемка   (2008-04-24 18:28:00) [13]

c pagecontrol удобно, а вот с treeview и панелями как то не очень :(
я думал что есть способ переключать панели как это сделанно в pagecontrol'e


Восхищенный   (2008-04-24 18:13:00) [14]

> Артемка   (24.04.08 18:08)

Вот прям так и сделать - при выборе нода переключать видимость панелей (или фреймов, а еще лучше - закладки PageControl).


Palladin   (2008-04-24 18:09:00) [15]

да они просто волшебники... :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо