Форум: "Начинающим";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];
ВнизНормальная Child - форма - как создать? Найти похожие ветки
← →
tytus © (2007-07-02 11:45) [0]По примеру Тейксейры и Пачеко создаю такую форму:
type
TChildForm = class(TForm)
private
{ Private declarations }
FAsChild: Boolean;
FTempParent: TWinControl;
protected
procedure CreateParams(var Params: TCreateParams); override;
procedure Loaded; override;
public
{ Public declarations }
constructor Create(AOwner: TComponent); overload; override;
constructor Create(AOwner: TComponent; AParent: TWinControl); reintroduce; overload;
// The method below must be overridden to return either the main menu
// of the form, or nil.
function GetFormMenu: TMainMenu; virtual; abstract;
function CanChange: Boolean; virtual;
end;
Главная форма имеет FormStyle=fsMDIForm;
Дочерняя создается так:
NewForm:=TChildForm.Create(Application,Panel4);
Panel4 - для дочерней формы.
Так вот - заголовок дочерней формы не становится активным, тоесть она не получает фокус ввода. Из=за етого невозможно прокрутить frxReport.
Как создать нормальную дочернюю форму?
← →
Плохиш © (2007-07-02 11:50) [1]У дочерней должно быть FormStyle=fsMDIChild;
← →
tytus © (2007-07-02 11:55) [2]>Плохиш © (02.07.07 11:50) [1]
не помогло...
оставил fsNormal;
← →
Игорь Шевченко © (2007-07-02 12:05) [3]Тейксейра и Пачеко, да продлит Аллах драгоценные дни их жизни, явно указывают, в каких случаях создавать форму, как дочернее окно - а именно, для встраивания в другие формы.
В этом случае параметр Application в конструкторе есть полный бред.
> Так вот - заголовок дочерней формы не становится активным,
> тоесть она не получает фокус ввода
Если ты смотришь, как сделано у Тейксейры и Пачеко, то в их случае, если форма создается, как дочернее окно, у нее вообще нет заголовка и фокус ввода получает родительская форма.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.048 c