Форум: "Компоненты";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
ВнизВозможны ли такой виз. компонент? Найти похожие ветки
← →
mmms (2006-11-06 16:38) [0]Есть необходимость в одном виз. компоненте, состоящем из двух TComboBox, четырех TButton. Цель - в одном TComboBox показывать года, в другом TComboBox - месяца, а кнопкам год минус/плюс, и месяц минус/плюс.
Из свойств - только от какого по какой год показывать.
Из обработчиков - никаких спец, можно на всякий случай OnChange.
Возвращаемое значение - диапазон TDateTime, с первого по посл. момент времени этого месяца.
Например d1=2006.01.01:00.00.00, d2=2006.01.31:23.59.59
Или для этого надо восп. только фреймами, и такие компоненты вовсе не пишутся? Хотелось бы компонент сделать, чтобы оперировать "как с одним" элементом.
← →
Percent (2006-11-06 16:41) [1]Возможен. А чем не нравится стандартный TDateTimePicker?
← →
DimaBr (2006-11-06 16:53) [2]
> Хотелось бы компонент сделать, чтобы оперировать "как с одним" элементом.
Это можно.
Можно организовать Component Template.
← →
mmms (2006-11-06 18:13) [3]Спасибо, понятно, покопаю информацию Component Template. :)
← →
mmms (2006-11-06 18:44) [4]Попробовал, Component Template, интересно, но не подходит, он весь код "таскает за собой" в каждую форму, что не подходит, если задачу чуть расширить, и кода получается не мало, то тяжело управлять всем этим растиражированным хозяйством...
А нельзя ли сделать наследника TPanel, и на ней в момент создания создавать TButton и другие элементы? Реализуемо ли это?
И еще, что на практике делается в таком случае, когда необходимо объединить элементы, и с сокрытием свойств и методов каждого по отдельности элемента, и созданием своих обработчиков?
← →
Percent (2006-11-06 19:53) [5]А нельзя ли сделать наследника TPanel, и на ней в момент создания создавать TButton и другие элементы? Реализуемо ли это?
Можно. Реализуемо.
И еще, что на практике делается в таком случае, когда необходимо объединить элементы
Можно сделать ссылки из одних компонентов на другие. Но это накладнее, чем на базе общего компонента-контейнера.
← →
mmms (2006-11-06 20:07) [6]Все, дошло, на этапе создания можно делать что хочешь, правда в дизайнере не видно, но это не так и важно :)
constructor TMmmsCustomPanel.Create (AOwner:TComponent);
begin
inherited Create(AOwner);
Width:=200;
Height:=200;
btn:= TButton.Create(Self);
btn.Parent:=Self;
btn.Top:=10;
btn.Left:=10;
btn.Caption:="MyBtn";
end;
← →
mmms (2006-11-06 20:14) [7]
Возможен. А чем не нравится стандартный TDateTimePicker?
В некоторых случаях надо выбрать год и 1 месяц и все (бухг. отчеты и т.п.), а если делать 2 TDateTimePicker, то ещё выбрать надо начало месяца, конец месяца... ну в общем не совсем подходит, хотя раньше только на них и делалось.
← →
Percent (2006-11-06 21:56) [8]правда в дизайнере не видно
Что это значит?
Кнопка, созданная так, как в [6], будет видна на этапе разработки.
Или имеется в виду, что она будет недоступна в Object Inspector"е?
Ну так дай к ней доступ, объявив как published свойство.
Страницы: 1 вся ветка
Форум: "Компоненты";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.057 c