![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Привет всем! И еще вопрос. Искал в интернете инфу про перетаскивание компонент, все понятно когда созданы не динамически... А когда созданы динамически??? Это нужно для каждого компонента динамически описывть обработку событий(т.е щелчка мышки, перетаскивание...)? Других способов более легких нет?
|
|
#2
|
||||
|
||||
|
Способы (варианты):
1. Написать библиотеку компонентов, в которых уже установлены эти свойства. 2. Написать компонент (или класс), который будет помогать тебе заполнять различные свойства создаваемых компонентов. 3. Просто создать функцию, автоматезирующую этот процесс. 4. Не создавать компоненты динамически - тогда и мучатся не придется.Возможно есть еще варианты ![]() |
|
#3
|
||||
|
||||
|
Кстати, одним универсальным обработчиком (с использованием Sender: TObject) можно обрабатывать аналогичные события разных компонентов
|
|
#4
|
|||
|
|||
|
Понятно. Спасибо. В общем разбираться в моем случае нужно долго и упорно))))
|
|
#5
|
||||
|
||||
|
Не обязательно
Все зависит от того что ты уже знаешь и что конкретно хочешь. Если тебе не понятно как прикрепить события можем обьяснить, если не понятно Sender: TObject тоже расскажут А так вопрос был общий и ответ тоже Программисты для того и пишут программы (компоненты, функции...) чтобы автоматизировать какойто процесс и другим облегчить решение ихних задач (Разработчики Делфи значительно облегчили нам работу - кинул кнопку и она уже на форме, щелкнул немного накодил и она уже работает) Конкретизируй вопрос или покажи код где неполучается ![]() |
|
#6
|
|||
|
|||
|
Динамически создаю компоненты, как лучше в моем случае организовать перетаскивание компонентов???
Код:
T: TTabSheet; Edit: TEdit; Lab: TLabel; QRLab: TQRLabel;
.......
For i:=1 to Form1.PageControl1.PageCount+1 do
BEGIN
for j:=1 to PG[i].Label_Count do
begin
Lab:= TLabel.Create(Self);
Lab.Caption:=PG[i].Info_Label[j].Caption;
Lab.Top:= PG[i].Info_Label[j].Top;
Lab.Left:= PG[i].Info_Label[j].Left;
Lab.Font.Size:=PG[i].Info_Label[j].Size;
if PG[i].Info_Label[j].Style = 1 then Lab.Font.Style:=[fsBold];
// Lab.Visible:=true;
Lab.Parent:= PageControl1.Pages[i-1];
Edit:= TEdit.Create(Self);
Edit.Top:= PG[i].Info_Edit[j].Top;
Edit.Left:= PG[i].Info_Edit[j].Left;
Edit.Name:='Edit'+IntToStr(i)+IntToStr(j);
Edit.Text:='';
Edit.Parent:= PageControl1.Pages[i-1];
end;
END; |