Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.21.248.119] |
|
Страницы: (3) 1 2 [3] все ( Перейти к последнему сообщению ) |
Сообщ.
#31
,
|
|
|
Цитата DimaBr @ 4.Зачем? И кому я это разрешу? Если компонент будет установлен в дизайнере, то любой сможет добавить новые страницы (это же TPageControl) и соответственно удалить их Все же это не TPageControl, а его наследник, для которого можно запретить добавление\удаление страниц и написать свой ComponentEditor для дизайна (следуя твоему же примеру ) rdx0 С другой стороны, действительно: А нужен ли такой КОМПОНЕНТ? Чем, например, фрэйм не устраивает? |
Сообщ.
#32
,
|
|
|
С созданием наследника от TPageControl с добавленной страницей могут возникнуть несколько сложностей непосильных начинающему программисту.
1. С одной стороны нужно будет создавать первую страницу в конструкторе при заброске на форму и в Run-Time, а с другой стороны не создавать её, а читать из ресурса при создании компонента в режиме загрузки формы из ресурса 2. Нужно будет запретить пользователю компонента удалить ОПРЕДЕЛЁННУЮ страницу компонента, так как порядок страниц легко поменять И это мы ещё не дошли до основного функционала компонента Цитата И на эту схему в дизайн тайме мне нужно накидать в нужных местах нужных размеров управляемых элементов. Следующий шаг - взаимодействие вашего компонента со сторонними контролами, "накиданными" на него. Не думаю что это имеет простое решение, по крайней мере так как вы это описали. По предоставленному описанию это очень похоже на Редактор Блок Схем. Написать такой редактор с уровнем не знания что такое Parent - невозможно. |
Сообщ.
#33
,
|
|
|
To Guru: Что-то я уже начинаю понимать, но оно же не отказывается, а просто не прорисовывает!
To Mooderator: Плохо то, что вы пытаетесь единовременную задачу заключить в компонент, при этом не обладаете даже минимумом знаний Если Вам не сложно, воздержитесь от оценок IQ 3.Пэйдж, ибо хотелось бы на соседних вкладках иметь графики, протокол событий и настройку железа Что мешает забросить ВАШ новоявленный компонент на TPageControl или куда либо ещё ? Мне нужно от него еще много чего 4.Зачем? И кому я это разрешу? Если компонент будет установлен в дизайнере, то любой сможет добавить новые страницы (это же TPageControl) и соответственно удалить их В .exe-файле? |
Сообщ.
#34
,
|
|
|
Imsorry - в обращении - To moderator лишняя ·o·
|
Сообщ.
#35
,
|
|
|
Цитата rdx0 @ Если Вам не сложно, воздержитесь от оценок IQ IQ <> количество знаний Делфи Судя по тому, что я здесь прочитал, вам не нужен пейджконтрол. Вы не понимаете сути Компонентов в целом. Вы пишите КОНЕЧНЫЙ компонент, который не сможете использовать повторно без внесения в него изменений, а так же, плохо расширяемый. Точнее, вообще не расширяемый. Вам достаточно взять TWinControl как контейнер для "управляемых элементов", а уже его размещать хоть где, хоть на форме, хоть на пейдже. Если вы настаиваете на "нужно от него еще много чего", то сделайте TMyCustomContainer = class(TWinControl) и в нем опишите общий функционал для "еще много чего". Но это уже напрямую к компонентам не относится, это ООП. |
Сообщ.
#36
,
|
|
|
Мне б такой компонент... Мечта! Нужен для такой штуки: .exe можно глянуть тут
Исходники, если надо, то тоже дам... Когда получится сделать, сообщите. |
Сообщ.
#37
,
|
|
|
> rdx0
Вы обратились сюда за советом ? Вот вам и советуют отказаться от TPageControl. Цитата а просто не прорисовывает! Повторяю, вы не понимаете сущности свойства Parent. Графические контролы с точки зрения Windows не существуют. Чтобы они смогли себя отрисовать им нужно ОКНО. Предоставьте TImage окно и всё начнёт рисоваться. Попробуйте создать то, что вы хотите без создания компонента. На пустой форме в OnCreate написать всё что вам нужно. Когда вы добьётесь нужного эффекта, вот тогда и переходите к оформлению в виде компонента, если конечно к этому времени у вас останется желание |
Сообщ.
#38
,
|
|
|
To AndyBitoff:
Еще раз прошу прощения. мне нужна картинка, настройка ее, возможность просмотра логов, отображение записанных данных и все это на соседних листках. Чем это не пэйджконтрол? To zvygin1964: сорри, если там ссылка, то я ее не вижу. А когда(если ...) получится, обязательно сообщу! To DimaBr: Если Я ничего не путаю, ОнКриейт - это рантайм |
Сообщ.
#39
,
|
|
|
Цитата To zvygin1964: сорри, если там ссылка, то я ее не вижу. А когда(если ...) получится, обязательно сообщу! Ссылка была удалена, как вредоносная Цитата ОнКриейт - это рантайм Совершенно верно. Для начала попробуйте создать TImage в режиме Run-Time и загнать в него картинку |
Сообщ.
#40
,
|
|
|
Цитата rdx0 @ мне нужна картинка, настройка ее, возможность просмотра логов, отображение записанных данных и все это на соседних листках. Чем это не пэйджконтрол? Пусть это будет пэйджконтрол. Но зачем для него создавать отдельный компонент (толком не представляя себе как его создавать, и будет ли он удобен для настройки в дизайн-тайме)? Ты так и не ответил, чем тебя не устраивает TFrame, на который можно легко и просто бросить и настроить в дизайне тот же пэйджконтрол, табшиты, картинку (можно вместе с дефолтным изображением) и прочие нужные компоненты. А уж затем этот фрейм можно вставлять в любые формы и проекты, и также легко и привычно редактировать в дизайне и сам пэйджконтрол, и все его компоненты. А как ты себе представляешь создание отдельного компонента с кучей суб-компонентов, который не является наследником TFrame и TForm, и соотв-но не поддерживает автосохранение и автозагрузку настроек из dfm? Этот компонент должен создавать сам себя со всеми своими суб-компонентами в конструкторе Create, т.е. в рантайме. (Примечание: дизайнер форм при перетаскивании компонента с палитры на форму создает реальный экземпляр этого компонента вызовом его Create, поэтому первоначально все новые компоненты выглядят так, как прописано в их конструкторе). Поэтому тебе придется в конструкторе своего пэйджконтрола самому создавать все его суб-компоненты в таком виде\состоянии, в каком ты их хочешь видеть при перетаскивании твоего компонента на форму (в частности, не забывая про установку Parent-ов, чтобы эти суб-компоненты вообще отображались на экране). Как ты это собираешься делать? Ручками методом тыка? Типа написал конструктор, скомпилировал компонент, бросил на форму, не понравилось, переписал, перекомпилировал и т.д. (до посинения)? Вот тебе DimaBr и предлагает для начала "потренероваться на кошках", т.е. Цитата DimaBr @ Да, "ОнКриейт - это рантайм", это именно то, что тебе нужно отработать\отладить, а затем перенести в Create твоего пэйджконтрола. (Хотя можно и непосредственно этот Create отлаживать, а в OnCreate формы просто создавать и добавлять на форму сам пэйджконтрол и смотреть, что получается).создать то, что вы хотите без создания компонента. На пустой форме в OnCreate написать всё что вам нужно. Когда вы добьётесь нужного эффекта, вот тогда и переходите к оформлению в виде компонента, если конечно к этому времени у вас останется желание Однако отладка создания компонента, это еще не все (что может отбить желание вообще его создавать и использовать). Нужно еще посмотреть насколько удобно будет редактировать св-ва его суб-компонентов в дизайн-тайме. Ведь эти субкомпоненты нельзя выделить и редактировать индивидуально, как обычные компоненты формы или фрейма. Их св-ва будут доступны для просмотра и редактирования только через раскрывающиеся (по плюсику) списки в свойствах самого пэйджконтрола. В том же TLabeledEdit раскрытие списка кучи ненужных свойств EditLabel выгдядит как-то э-э-э..., а у тебя этих субкомпонентов, судя по замыслам, будет N-е количество. Не запутаешься во всех этих "портянках" раскрытых в общем списке свойств? Или предпримешь доп.усилия для сокрытия части ненужных свойств субкомпонентов? |
Сообщ.
#41
,
|
|
|
Я боюсь, что наследование от ТФрейм существенно превышает мою квалификацию...
Вот тебе DimaBr и предлагает для начала "потренероваться на кошках" - Д на не пустой-то форме я ушибусь, но добьюсь,желание останется, Но КАК это оформить компонентом?(Замечу в скобках, - если бы я с легкостью владел тематикой, сидел бы здесь не в спрашивающих, а в отвечающих...) |