Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > frames


Автор: Ripper 12.9.2004, 12:16
Слева есть какой то список на форме ну неважно. я выбираю какой нить раздел и справа должны появлятся определенные компоненты... и списков много т.е. справа область постоянно меняется. как это организовать? Создать кучу фреймов поместить их на форму и менять visible??
а если фреймов больше 20-30 то уже муторно это все будет =(
Может есть ещё способы??

Автор: <Spawn> 12.9.2004, 12:40
TTabbedNotepad с Win 3.1 + F1

Автор: Pakshin A. S. 12.9.2004, 14:31
Можно и PageControl юзать (идея в топике http://forum.vingrad.ru/index.php?showtopic=28200)... Это для правой области: места меньше жрать будет...

Автор: Ripper 12.9.2004, 22:14
да нет я не хочу эти компоненты использовать. PAgeControl яб мог взять но это не то.
вот допустим есть слева TTreeView, в нем куча итемов. вот я выбираю что либо и справа появляется какая то инфа...

Автор: Pakshin A. S. 12.9.2004, 22:17
А какой вид инфы? (текст, текст с картинками (гипертекст))

Автор: Ripper 13.9.2004, 13:31
хмм... ну вообще как те сказать абочая область. Вот тыкаю я слева пунктик - открывается допустим 3 буттона 5 лебелов 4 едита =)
Графики наверно не будет хотя точно незнаю))

Автор: Pakshin A. S. 13.9.2004, 18:45
Ну я тогда не знаю, почему PageControl не подходит... sad.gif sad.gif sad.gif

Автор: Ripper 13.9.2004, 19:14
не нравится оформелние просто. можно и Pagecontrol но я видел поги которые еп я описывал выше делают. Так красивее)) ну фреймы подходят впринцепе

Автор: Pakshin A. S. 13.9.2004, 19:26
Убрать 3D рамку, Tab'ы и никто в жизни не догадается, что это - PageControl!!!!! thumbs-up.gif

Автор: Messages 13.9.2004, 23:28
Вот и я о том же! Я помещаю на форму компонент TFrame что ли и сразу выбираю созданный фрейм. А можно ли в дельфи, как и в Visual C, перегружать в компонент разные фреймы.

Кажеться первоначальный вопрос об этом.

Автор: Конструктор 14.9.2004, 09:33
Фрейм - это класс. Значит можно создать и объект этого класса и поместить его на форму во время выполнения программы. Но в этом случае многие свойства придется задавать вручную. Так же необходимо для фрейма задать значения свойств Parent и Owner (По идее это должна быть форма на которой фреймы будут сидеть)

Вот пример (пардон Delph'ей не знаем, так что на билдере)

Код

   TFrame2 * frame2 = new TFrame2(this);//Создаем объект-фрейм, параметр(аргумент) - объект владелец(owner), в данном случае форма (владелец отвечает за освобождеине ресурсов)
   frame2->Left = 0;
   frame2->Top = 0;
   frame2->Width = 100;
   frame2->Height = 80;
   frame2->Parent = this;//Установка родителя (тоже форма), отвечает за отрисовку компонента
   frame2->Visible = true;


Я бы выбрал фреймы, их хоть будет и много, зато с ними удобней работать при дизайне. Плюс фреймы можно динамически создавать и при переключении на другой, уничтожать.

Автор: Ripper 14.9.2004, 15:49
Извиняюсь а как у PageControl, убать рамку то?) Так впринципе и это пойдет. Хотя фреймы не хуже
Добавлено @ 15:50
а все вроде понял. ну ладно спасибо буду смотреть

Автор: Pakshin A. S. 14.9.2004, 18:32
Цитата(Ripper @ 14.9.2004, 16:49)
Извиняюсь а как у PageControl, убать рамку то?) Так впринципе и это пойдет. Хотя фреймы не хуже

http://forum.vingrad.ru/index.php?showtopic=28200

Пост от 19.8.2004, 21:26

Style = tsFlatButtons

TabVisible равнялось False

И ещё
http://forum.vingrad.ru/index.php?showtopic=28369

Автор: Patrius 9.12.2004, 06:55
Конструктор
Цитата
Вот пример (пардон Delph'ей не знаем, так что на билдере)

а на делфях хто нить подсказать может???
Добавлено @ 06:56
а то ооооооочень нужно...

Автор: Patrius 9.12.2004, 08:39
вроде разобрался с перекодировкой...
вот что получилось
Код

procedure TForm1.Button2Click(Sender: TObject);
var new_frame : Tframe3;
begin
new_frame := TFrame3.Create(Application.MainForm);
new_frame.Left:=0;
new_frame.Top:=0;
new_frame.Width:=307;
new_frame.Height:=44;
new_frame.Parent:=Self;
new_frame.Visible:=true;
end;

но тут же возник новый вопрос - всплывающий ерор при попытке повторного добавления уже через другой Button и с другим именем ...
в чем прикол.... ?????

при попытке добавить new выдается "несоответствие типов"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)