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


Автор: BN34 23.8.2015, 06:04
Хочу попробовать создать форму полностью вручную.

Пишу вручную модуль:
Код

unit Unit2;
interface
uses Forms;
type
  TForm2 = class(TForm)
  end;
implementation
end.


В обработчике нажатия кнопки пишу:
Код

with TForm2.Create(Self) do
try
  ShowModal;
finally
  Free;
end;


При нажатии на кнопку выдает исключение:
Код
Resource TForm2 not found


Возможно ли как-то (может быть хак какой) создавать формы полностью вручную, без задействования дельфийского механизма сохранения свойств форм в ресурсах???



Автор: Alexeis 23.8.2015, 12:49
Цитата(BN34 @  23.8.2015,  07:04 Найти цитируемый пост)
Возможно ли как-то (может быть хак какой) создавать формы полностью вручную, без задействования дельфийского механизма сохранения свойств форм в ресурсах???

  Форму пожалуй не получится. По крайней мере класс TCustomForm пытается залезть в ресурсы. Тут или перекрыть метод, который это делает или создать панельку без родителя. Панелька без родителя это почти что форма. Если нужен заголовок с кнопками (панельке) то его можно добавить функцией SetWindowLong.

Автор: b8195108 23.8.2015, 18:50
Код

with TForm2.CreateNew(Self) do
try
  ShowModal;
finally
  Free;
end;

Автор: BN34 24.8.2015, 06:25
Спасибо! С помощью конструктора CreateNew все получилось!

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