Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.09.2014, 15:21   #1
loom12
Пользователь
 
Регистрация: 05.09.2014
Сообщений: 24
По умолчанию Изменение размера динамически созданного StringGrid на динамически созданной форме

Здравствуйте!

Подскажите пожалуйста, как сделать изменение размера динамически созданных StringGrid на динамически созданных формах при изменении размера формы мышкой.

Вот код как я создаю объекты:
Код:
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
     procedure NewFormResize(Sender: TObject); //!!! обработчик события изменения размера окна
  
  private
    { Private declarations }
  
  public
    { Public declarations }
  end;

var
NewForm:array of TForm;
NewStringGrid:array of TStringGrid;

implementation

{$R *.dfm}
//-----------как определить какая форма изменилась?----

procedure TForm1.NewFormResize(Sender: TObject);
var i,n:integer;
begin
 ??????????что-то типа этого????????????????????????
//   for n:= 0 to NewForm[0].ComponentCount-1 do  //find StringGrid  
//     begin
//(NewForm[0].Components[n] as TStringGrid).Width:=NewForm[0].Width-20; 
//
//     end;

end;

//------Обработчик события измен.размера для Form1-------------
procedure TForm1.FormResize(Sender: TObject);
begin
  Form1.StringGrid1.Height:=(Form1.Height-((horiz+1)*35))-100;
end;

//----------------------------------------------------------------
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
   Create_ObjNewForm; // создаю формы
  for i:=0 to 4 do
    Create_ObjNewStringGrid(i,4);

end;

//--------------Создание новых форм----------------------------
procedure Create_ObjNewForm;
var i:Integer;
begin
  SetLength(NewForm,4);  //4 - новые формы
  for i:= 1 to 4 do
  begin

   NewForm[i]:= TForm.Create(Form1);
   NewForm[i].Parent:=nil;
   NewForm[i].Tag:=i;

  
   NewForm[i].Caption:='NewForm'+IntToStr(i);
   NewForm[i].Width:=630;
   NewForm[i].Height:=450;
   NewForm[i].OnResize:=Form1.NewFormResize;
   NewForm[i].Show;
  end;


end;

//-------Создание StringGrid-----------------------------------------

procedure Сreate_ObjNewStringGrid(index_newform:Integer;
CountPanelArea_countNewForm:Integer);
var i,n:Integer;
begin

  SetLength(NewStringGrid,CountPanelArea_countNewForm); 


   NewStringGrid[index_newform]:= TStringGrid.Create(NewForm[index_newform]);
   NewStringGrid[index_newform].Parent:=NewForm[index_newform];
   NewStringGrid[index_newform].Tag:=index_newform;

  // NewForm[index_newform].Width:=count_panel_row*135;

   NewStringGrid[i].Width:=630;
   NewStringGrid[i].Height:=450;
   NewStringGrid[index_newform].Enabled:=True;
   NewStringGrid[index_newform].Font.Style:=[fsBold];
   NewStringGrid[index_newform].Font.Size:=10;
    NewStringGrid[index_newform].Show;
end;
//---------------------------------------------------------------
в дискуссии рождается истина

Последний раз редактировалось Stilet; 08.09.2014 в 15:23.
loom12 вне форума Ответить с цитированием
Старый 08.09.2014, 15:24   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Допиши:
Код:
StringGrid1.Anchors:=[akTop,akLeft,akRight,akBottom];
Куданить в OnCreate формы. Должно хватить.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.09.2014, 15:35   #3
loom12
Пользователь
 
Регистрация: 05.09.2014
Сообщений: 24
По умолчанию

Спасибо за помощь!

Добавил в
procedure Create_ObjNewStringGrid..

NewStringGrid[index_newform].Anchors:=[akTop,akLeft,akRight,akBottom];
Работает
в дискуссии рождается истина
loom12 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Движение динамически созданного объекта dubailand JavaScript, Ajax 0 20.10.2012 01:23
Работа с динамически созданной формой Airou C++ Builder 1 12.07.2011 10:58
Как подключить модули к динамически созданной форме? MyIE Общие вопросы Delphi 22 13.10.2010 20:29
Прозрачность динамически созданной формы Lime Общие вопросы .NET 1 03.04.2010 16:25
Поиск динамически созданного компонента GAGARIN-NEW Компоненты Delphi 2 16.12.2007 17:07