zeidel |
Отправлено: 18.02.2007, 15:54 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9
|
У меня имеется MDI с кучей всяких разных дочерних окон (Приложение для радоты с БД).
Как сделать так, чтобы при создании очередного дочернего окна появлялась какая-нибудь закладка (как в Opera, например) или хотя бы кнопка на какой-нибудь Panel (как в 1С)? Чтобы юзеру было легче жить
Заранее спасибо!!! |
|
Tantos |
Отправлено: 19.02.2007, 08:25 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 108
|
Я кинул вниз TPanel, на нем создал кнопки по количеству окон и показывал/скрывал их по мере создания/удаления соответствующих окон.
|
|
olegenty |
Отправлено: 19.02.2007, 08:26 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
написать немного кода. при создании окна — создавать динамически кнопку. при закрытии — убирать. а какие проблемы-то? это тривиальная задача...
|
|
Termi_uc |
Отправлено: 19.02.2007, 17:20 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 61
|
Перестань работать с MDI. Сама Microsoft от него открещивается. Кидай на главную форму TPageControl и по мере создания дочерних окон, создавай вкладки (TTabSheet) и располагай окна на них.
CODE |
TForm * __fastcall TFmMain::
FindOrCreatePage(TRzPageControl * PageControl, TAction * ExAction,
TMetaClass * NewFormClass, TForm * NewForm)
{
Screen->Cursor = crHourGlass;
for(int i = 0; i < PageControl->PageCount; i++)
if(PageControl->Pages[i]->Caption == ExAction->Caption)
{
PageControl->ActivePage = PageControl->Pages[i];
Screen->Cursor = crDefault;
return NULL;
}
Application->CreateForm(NewFormClass, &NewForm);
TRzTabSheet * tsh = new TRzTabSheet(PageControl);
tsh->PageControl = PageControl;
tsh->Caption = ExAction->Caption;
tsh->ImageIndex = ExAction ->ImageIndex;
NewForm->BorderStyle = Forms::bsNone;
NewForm->Parent = tsh;
NewForm->Show();
PageControl->ActivePage = tsh;
Screen->Cursor = crDefault;
return NewForm;
} |
Только проблемы с меню решай сам.
Отредактировано Termi_uc — 19.02.2007, 17:22
|
|
zeidel |
Отправлено: 19.02.2007, 18:09 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 9
|
Всем большое спасибо!!! |
|