Интересно, есть ли способ создать TShape
программно управляет во время выполнения. Например, внедрить 100 форм, скрыть их и когда программа запустится, показать их, в течение некоторого времени можно создать 100 фигур (5 фигур, созданных за 5 секунд, 10 в 10 секунд, 15 за 15 секунд и т. Д.), ,Можно ли программно создавать элементы управления TShape?
ответ
Вы должны не рисовать и анимировать с помощью элементов управления. Вместо этого вы должны рисовать вручную, используя простой GDI или какой-либо другой API. Например, см. this example или this example from one of your questions.
Во всяком случае, простой ответ на ваш вопрос: Поставьте TTimer
на вашей форме и установите его Interval
в 250
, и написать:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
FShapes: array of TShape;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
SetLength(FShapes, Length(FShapes) + 1); // Ugly!
FShapes[high(FShapes)] := TShape.Create(Self);
FShapes[high(FShapes)].Parent := Self;
FShapes[high(FShapes)].Width := Random(100);
FShapes[high(FShapes)].Height := Random(100);
FShapes[high(FShapes)].Left := Random(Width - FShapes[high(FShapes)].Width);
FShapes[high(FShapes)].Top := Random(Height - FShapes[high(FShapes)].Height);
FShapes[high(FShapes)].Brush.Color := RGB(Random(255), Random(255), Random(255));
FShapes[high(FShapes)].Shape := TShapeType(random(ord(high(TShapeType))))
end;
end.
Хорошо, но что такое Fshapes? – user2296565
@ user2296565: Это все. Это частное поле класса формы. –
Хорошо спасибо, я получил его – user2296565
- 1. REALBasic - программно создавать элементы управления
- 2. Можно ли создавать составные элементы управления?
- 3. Можно ли программно создавать метки в AutoCad?
- 4. Можно ли программно добавить некоторые элементы управления в WinForm?
- 5. Android. Можно ли программно создавать представления материалов?
- 6. Можно ли программно создавать объекты-статические объекты?
- 7. Можно ли создавать элементы Polymer.dart отдельно?
- 8. Можно ли повторно использовать элементы управления WPF?
- 9. Как создавать элементы директив программно?
- 10. Как создавать элементы управления автоматически?
- 11. vb.net программно создает элементы управления
- 12. Можно ли использовать специальные элементы управления?
- 13. Можно ли отключить элементы управления: HoverButton?
- 14. Можно ли заполнить элементы управления в JqGrid
- 15. Показывать различные элементы управления программно
- 16. Уместно ли создавать элементы управления в процедуре CurPageChanged?
- 17. Есть ли управление TShape на основе TWinControl
- 18. Обновление программно добавляемые элементы управления
- 19. Biztalk - можно создавать правила/политику программно?
- 20. Можно ли использовать невидимые элементы управления WinForms из WPF?
- 21. Как программно можно найти собственный поток управления
- 22. Как создавать элементы пользовательского интерфейса программно
- 23. Как повернуть TShape
- 24. Как программно создавать/создавать CTabCtrl?
- 25. Динамически создавать элементы управления с помощью stringbuilder
- 26. Динамически создавать персонализированные элементы управления в ASP.NET
- 27. Плохо ли создавать представления программно?
- 28. TShape и целое значение
- 29. Как динамически создавать элементы управления в MVC?
- 30. Есть ли способ динамически создавать и удалять элементы управления Webbrowser?
Что-то вроде: процедура TForm.Timer1Timer (Sender: TObject); начало С Tshape.Create (self) do начало Родитель: = self; Слева: = xxx end; конец; ?? – bummi
Да, что-то вроде этого – user2296565
GExperts и CnWizards имеют кнопку для преобразования любого визуального компонента в код. Возможно, такие вопросы «как сделать компоненты VCL кодом» все считаются дублирующими ... –