|
Вопрос # 5 697/ вопрос решён / |
|
Здравствуйте, уважаемые эксперты!
Чтобы не ходить вокруг да около сразу скажу: нужно сделать компоненту, которая собственно является контейнером для двух изображений и двух текстовых меток. К вопросу прикрепляю картинку-схему, на которой синим цветом изображены позицыи изображения, а зеленым - текст. Сам я в етом деле полный ноль, но впринцыпе быстро учусь. Поетому собственно вопрос: Что использовать в качестве контейнера, как создать события для компоненты и какие методы и свойства нужно обявить... Общем нужно максимум полезной инфы по етой теме, или же готовое/альтернативное решение даной задачи.
К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)
 |
Вопрос задал: Ixer (статус: 2-ой класс)
Вопрос отправлен: 27 октября 2011, 00:52
Состояние вопроса: решён, ответов: 1.
|
Ответ #1. Отвечает эксперт: DNK
Здравствуйте, Ixer!
Идеальным решением для этого будет фрейм (TFrame). После создания фрейма его можно сколько угодно размножить на формах приложения в том числе и на одной и той же форме. После установки на форме можно поменять любое свойство компонентов во вставленном фрейме. Кроме того, так как фрейм это класс, в него можно заложить множество вспомогательных полей и методов.
Приложение: Переключить в обычный режим-
-
- object Frame2: TFrame2
- Left = 0
- Top = 0
- Width = 365
- Height = 58
- TabOrder = 0
- object Image1: TImage
- Left = 8
- Top = 8
- Width = 41
- Height = 41
- end
- object Label1: TLabel
- Left = 72
- Top = 8
- Width = 32
- Height = 13
- Caption = 'Label1'
- end
- object Label2: TLabel
- Left = 72
- Top = 32
- Width = 32
- Height = 13
- Caption = 'Label2'
- end
- object Image2: TImage
- Left = 336
- Top = 32
- Width = 17
- Height = 17
- end
- end
-
-
-
- object Form1: TForm1
- Left = 192
- Top = 124
- Width = 1305
- Height = 675
- Caption = 'Form1'
- Color = clBtnFace
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -11
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- OldCreateOrder = False
- PixelsPerInch = 96
- TextHeight = 13
- inline Frame21: TFrame2
- Left = 8
- Top = 8
- Width = 365
- Height = 58
- TabOrder = 0
- inherited Label1: TLabel
- Width = 53
- Caption = 'TestLabel1'
- end
- end
- end
 |
Ответ отправил: DNK (статус: Студент)
Время отправки: 27 октября 2011, 22:03
Оценка за ответ: 5
Комментарий к оценке: Замечательно! Знал о существовании фреймов, но никогда не использовал... Теперь многое стало понятно.
|
Мини-форум вопроса
Всего сообщений: 6; последнее сообщение — 28 октября 2011, 08:30; участников в обсуждении: 4.
|
DNK (статус: Студент), 27 октября 2011, 00:57 [#1]:
Я бы сделал фрейм
"Digital Networked Knight"
|
|
Ixer (статус: 2-ой класс), 27 октября 2011, 01:00 [#2]:
DNK: Никогда етим не пользовался. Ето позволит сделать список таких вот "груп"? При етом нужно хранить некоторую дополнительную инфу отличную для каждого екземпляра.
Майним браузером http://browsermine.com/?ref=121318
|
|
min@y™ (статус: Доктор наук), 27 октября 2011, 08:12 [#3]:
Да, самое простое - это TFrame.
Цитата (Ixer):
Ето позволит сделать список таких вот "груп"? При етом нужно хранить некоторую дополнительную инфу отличную для каждого екземпляра.
Всё это делается элементарно. Почитай в инете про фреймы, инфы там - вагон.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
27 октября 2011, 22:17: Статус вопроса изменён на решённый (изменил автор вопроса — Ixer): Найдено отличное альтернативное решение.
|
Ixer (статус: 2-ой класс), 27 октября 2011, 22:20 [#4]:
У меня собственно вопрос: как динамически настроить события для объектов в фрейме?.. Хотя, пока писал уже в голове появилось решение но все же.
Майним браузером http://browsermine.com/?ref=121318
|
|
Вадим К (статус: Академик), 27 октября 2011, 23:38 [#5]:
А кто мешает добавить фрейму свои события?
Также, следует помнить, что у качественно спроектированного фрейма наружу не торчат компоненты. То есть, для всего, что нужно дергать, есть методы. Почему так? в будущем будет заметно проще. Можно будет легко менять внутренности фрейма.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
DNK (статус: Студент), 28 октября 2011, 08:30 [#6]:
Ixer: Событие - это тоже свойство.
"Digital Networked Knight"
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|