![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите пожалуйста! [D7, WinXP]
_Hawk_ © (2006-04-27 07:42:00)Привет, всем кто на связи :) Ребята, пожалуйста помогите мне – у меня такая проблема: на форме валяются несколько Panel и TreeView, как мне сделать так, чтобы при выделении какой-либо строчки в TreeView, определенная Panel выходила на передний план? Т.е. я хочу автоматизировать код – допустим у какой-то строчки TreeView, SelectedIndex =1 – как это использовать в имени Panel (Panel+TreeView.Selected.SelectedIndex)
Loginov Dmitry (2006-04-27 22:17:00) [1]
> Так же неудобен в DesignTime, как и нагромождение панелей.
> Для этих целей само то - TPageControl с невидимыми Tab-
> ами. Для пущего удобства переключения в Design-е, невидимость
> Tab-ам можно установить в RunTime
А TPageControl иногда неудобен в RealTime. Баги при изменении размеров (в некоторых случаях). Хотя если окно диалоговое, то все нормально.
Ksenom (2006-04-27 16:06:00) [2]А как на счёт фрэймов... Дёшево и сердито... и память не кушать )
ЮЮ (2006-04-27 11:13:00) [3]>Для этих целей используй TNotebook и его слои.
Так же неудобен в DesignTime, как и нагромождение панелей. Для этих целей само то - TPageControl с невидимыми Tab-ами. Для пущего удобства переключения в Design-е, невидимость Tab-ам можно установить в RunTime
balepa (2006-04-27 08:44:00) [4]
> _Hawk_ (27.04.06 07:42)
Сделай массив панелей.
Panels: array[1..10] of TPanel;
или
var
i: Integer;
begin
for i:= 0 to Form1.ComponentCount-1 do //не уверен с 1 или с 0
if Form1.Components[i] is TPanel then
if TPanel(Form1.Component[i]).Name = 'Panel' + IntToStr(TreeView.Selected.SelectedIndex) then
{or
if TPanel(Form1.Component[i]).Tag = TreeView.Selected.SelectedIndex then}
begin
TPanel(Form1.Components[i]).Visible:= False;
end;
end;
Попрошайка (2006-04-27 07:57:00) [5]Для этих целей используй TNotebook и его слои.