Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> динамическое создание MDI формы, что-то не так... 
:(
    Опции темы
rOOxus
Дата 13.9.2009, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 95
Регистрация: 28.8.2006

Репутация: нет
Всего: нет



Здравствуйте коллеги!

имеется MDI форма родитель TMainForm. при нажатии кнопочки создаю дите:

Код

procedure TMainForm.Button1Click(Sender: TObject);
var
   Form : TForm;
   Button : TButton;
begin
   Form := TForm.Create( nil );
   Form.FormStyle := fsMDIChild;
   Form.WindowState := wsMaximized;
   Form.BorderWidth := 1;
   Form.Caption := 'Дите';
   Form.Parent := MainForm;

   Button := TButton.Create( Form );
   Button.Parent := Form;
   Button.Caption := 'ОК';
   Button.Top := 10;
   Button.Left := 10;
end;


проблема в том что если создать два таких дитя, то при смене форкуса меду ними возникает матюк Cannot focus a disabled or invisible window.
может создаю как-то не правильно?..
PM MAIL   Вверх
pseud
Дата 15.9.2009, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 10
Всего: 40



а если так:
Код

type
  TMainForm = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    FCount: Integer;
  public
    { Public declarations }
  end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
  FCount := 0;
end;

procedure TMainForm.Button1Click(Sender: TObject);
var
  Form: TForm;
  Button: TButton;
begin
  Inc(FCount);
  Form := TForm.Create(Self);
  wtih Form do
  begin
    Name := 'ChildForm' + IntToStr(FCount);
    FormStyle := fsMDIChild;
    WindowState := wsMaximized;
    BorderWidth := 1;
    Caption := 'Дите';
    Parent := MainForm;
  end;

  Button := TButton.Create(Form);
  with Button do
  begin
    Parent := Form;
    Caption := 'ОК';
    Top := 10;
    Left := 10;
  end;
end;



--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0593 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.