Последние записи
- Рандомное слайдшоу
- Событие для произвольной области внутри TImage
- Удаление папки с файлами
- Распечатка файла
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
8th
Сен
Изменение размера динамического StringGrid
Posted by micher under Delphi
Подскажите, как сделать изменение размера динамически созданных StringGrid на динамически созданных формах, при изменении размера формы мышкой?
loom12
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:= TForm.Create(Form1);
NewForm.Parent:=nil;
NewForm.Tag:=i;
NewForm.Caption:='NewForm'+IntToStr(i);
NewForm.Width:=630;
NewForm.Height:=450;
NewForm.OnResize:=Form1.NewFormResize;
NewForm.Show;
end;
end;
//-------Создание StringGrid-----------------------------------------
procedure Сreate_ObjNewStringGrid(index_newform:Integer;
CountPanelArea_countNewForm:Integer);
var i,n:Integer;
begin
NewStringGrid[index_newform].Anchors:=[akTop,akLeft,akRight,akBottom];
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.Width:=630;
NewStringGrid.Height:=450;
NewStringGrid[index_newform].Enabled:=True;
NewStringGrid[index_newform].Font.Style:=[fsBold];
NewStringGrid[index_newform].Font.Size:=10;
NewStringGrid[index_newform].Show;
end;
//---------------------------------------------------------------
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)