Помогите, пожалуйста, одолеть фреймы. Сколько делал подходов и никак не могу с ними совладать.
Хочу из из какого-либо контрола Frame прочитать/записать/показать данные, но на практике это не так просто.
Если бы
procedure TFormMain.BShowClick(Sender: TObject);
begin
// Показать данные из frame_Settings из TEdit
ShowMessage(FrameSettings.Edit1.Text); // Не катит
end;
но увы.
Так создаю фремы и показываю их
unit frm_Main;
...
var
FormMain: TFormMain;
LastFrame: TFrame;
implementation
uses frame_Settings, frame_Misc;
{$R *.dfm}
procedure TFormMain.FormCreate(Sender: TObject);
begin
// Создаём список фреймов
with ListBox1 do
begin
AddItem('Настройки', TFrameSettings.Create(ListBox1));
AddItem('Разное', TFrameMisc.Create(ListBox1));
end;
LastFrame := nil;
end;
procedure TFormMain.ListBox1Click(Sender: TObject);
begin
// Активируем из списка нужный фрейм
if LastFrame <> nil then LastFrame.Visible := False;
with TListBox(Sender) do
begin
LastFrame := TFrame(Items.Objects[ItemIndex]);
LastFrame.Align := alClient;
LastFrame.Parent := Panel1;
LastFrame.Visible := True;
end;
end;
procedure TFormMain.BReadClick(Sender: TObject);
begin
// Прочитать данные из frame_Settings из TEdit
end;
procedure TFormMain.BWriteClick(Sender: TObject);
begin
// Записать данные из frame_Settings из TEdit
end;
procedure TFormMain.BShowClick(Sender: TObject);
begin
// Показать данные из frame_Settings из TEdit
ShowMessage(FrameSettings.Edit1.Text); // Не катит
end;
end.