![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как запихнуть форму в tPanel
Алексей А. © (2006-09-21 23:39:00)Здравствуйте.
Собственно сабж. (на подобии фрейма).
Зарание спасибо.
Алексей А. (2006-09-23 23:13:00) [1]Огромное спасибо всем!
clickmaker (2006-09-22 15:00:00) [2]
> [6] Алексей А. (22.09.06 00:04)
> Дык контролы разные. Например на 1-й странице толь Memo,
> 2-й - три Edit'a, 5-й ProgressBar и т.д. Наверное прийдётся
> всё-таки юзать Notebook...
TPageControl со свойством TabVisible = false у закладок.
Кнопки на форме под ним.
Станадртные виндозные визарды так и делаются обычно
StriderMan (2006-09-22 14:57:00) [3]эээээ я конечно извиняюсь но
Form1.Parent := Panel;
atruhin (2006-09-22 13:09:00) [4]Спорить не буду но взял с рабочего проекта.
Чапаев (2006-09-22 09:24:00) [5]> procedure TfrmAbstractChild.CreateParams(var Params: TCreateParams)
> ;
> begin
> inherited;
> Params.Style := Params.Style or WS_CHILD;
> end;
Ну ещё вроде Params.ParentWnd тут прописать надо.
atruhin (2006-09-22 06:58:00) [6]Подробно по запихиванию форм описано у Тейксейра(вроде так), Пачеко.
Но форму придется создавать динамически, т.е. как компонент в палитре не разместиш.
Вот так:
constructor TfrmAbstractChild.CreateChild(AOwner: TComponent);
begin
FTempParent := TWinControl(AOwner);
inherited Create (AOwner);
end;
procedure TfrmAbstractChild.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.Style := Params.Style or WS_CHILD;
end;
procedure TfrmAbstractChild.Loaded;
begin
inherited;
Align := alClient;
BorderStyle := bsNone;
BorderIcons := [];
Parent := FTempParent;
Position := poDefault;
end;
DrPass (2006-09-22 01:11:00) [7]Можно и форму, при желании. Например, если не хочется пихать все в один модуль.
У формы Align = alClient, BorderStyle = bsNone;
Потом - MyForm.ManualDock(MyPanel); MyForm.Visible:= true;
Германн (2006-09-22 01:04:00) [8]
> Алексей А. (22.09.06 00:04) [6]
>
> Дык контролы разные. Например на 1-й странице толь Memo,
> 2-й - три Edit'a, 5-й ProgressBar и т.д. Наверное прийдётся
> всё-таки юзать Notebook...
>
TPageControl имхо, лучше подходит для этой задачи.
А кнопки Next, Back и т.п. лучше разместить под ним, а не на нём.
ProgRAMmer Dimonych (2006-09-22 00:09:00) [9]Вариант 1. Одни показывать, другие прятать... {контролы}
Вариант 2. Одну показывать, все остальные прятать... {закладки}
Алексей А. (2006-09-22 00:04:00) [10]Дык контролы разные. Например на 1-й странице толь Memo, 2-й - три Edit'a, 5-й ProgressBar и т.д. Наверное прийдётся всё-таки юзать Notebook...
ProgRAMmer Dimonych (2006-09-21 23:57:00) [11]А что, если использовать одни и те же контролы, но в определённый момент заменять их содержимое (Caption и т.п.) на нужное. У меня что-то похожее в моей научной работе по информатике (обучающая программа). Только придётся продумать, где хранить эти Caption'ы...
Алексей А. (2006-09-21 23:51:00) [12]Хммм...
Мне нужно сделать что-то вроде мастера (Wizard), но по несколько раз создавать одни и те же кнопки (Next, Back и т.д) не хочется. Notebook тоже не очень :(
Ketmar (2006-09-21 23:44:00) [13]лучше и их не надо. %-)
Алексей А. (2006-09-21 23:41:00) [14]неужели только фреймы можно юзать?
Ketmar (2006-09-21 23:39:00) [15]проще всего -- забыть об этой грустной идее. заранее пожалуйста.