![]() |
|
|
Регистрация | << Правила форума >> | 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; |