![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]да они просто волшебники... :)