Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.17;
Скачать: CL | DM;

Вниз

TDateTimePicker   Найти похожие ветки 

 
mfender ©   (2006-11-29 14:26) [0]

Что-то я никак не пойму, неужели нет возможности у этого компонента изменять и дату и время? Т.е., выделяю месяц - стрелками меняю, выделяю часы - стрелками меняю. А сейчас получается, что менять можно либо одно, либо другое, взависимости от переключателя Kind (dkDate и dkTime).

Может я чего-то не вижу?


 
Anatoly Podgoretsky ©   (2006-11-29 14:34) [1]

> mfender  (29.11.2006 14:26:00)  [0]

Не видишь возможности поставить рядом два.


 
mfender ©   (2006-11-29 14:45) [2]


> Anatoly Podgoretsky ©   (29.11.06 14:34) [1]
> > mfender  (29.11.2006 14:26:00)  [0]
>
> Не видишь возможности поставить рядом два.

Немного извращённо, кажется...

Почитал ДНК - методы совершенно разные... Видимо совмещать их не получится. Или как-то извернуться, и переключать Kind взависимости от надобности.


 
clickmaker ©   (2006-11-29 14:49) [3]


> [2] mfender ©   (29.11.06 14:45)

свой компонент забацать. Панелька + 2 пикера


 
mfender ©   (2006-11-30 13:31) [4]

Сделал панельку с двумя пикерами.

Теперь пытаюсь унаследовать от неё потомка для БД. И вот какая ерунда получается:


{Это предок}
type
 TmfDateAndTimePicker = class(TCustomPanel)
 private
   FOnChange: TNotifyEvent;
   FDateTime: TDateTime;
 public
   property DateTime: TDateTime read FDateTime write SetDateTime;
 published
   property OnChange: TNotifyEvent read FOnChange write FOnChange;
 end;

procedure TmfDateAndTimePicker.ChangeDateTime(Sender: TObject);
begin
 FDatePicker.Time := FTimePicker.Time;
 FDateTime := FDatePicker.DateTime;
 FOnChange(Self);
end;

{Это потомок}
 TmfUNIXDateTimePicker = class(TmfDateAndTimePicker)
 protected
   procedure PickerChange(Sender: TObject);
 public
   constructor Create(AOwner: TComponent); override;
 end;

constructor TmfUNIXDateTimePicker.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);
 OnChange := PickerChange;
end;

procedure TmfUNIXDateTimePicker.PickerChange(Sender: TObject);
begin
 FDataLink.Edit;
 FDataLink.Field.AsInteger := DateTimeToUnix(DateTime);
end;


Так вот до этой самой PickerChange дело вообще не доходит. DateTime меняется (проверил снаружи не label"е). Как сделать так, чтобы по OnChange срабатывал и PickerChange?


 
mfender ©   (2006-11-30 13:51) [5]

Блин, а ларчик просто открывался!


 TmfDateAndTimePicker = class(TCustomPanel)
   procedure ChangeDateTime(Sender: TObject); dynamic;

 TmfUNIXDateTimePicker = class(TmfDateAndTimePicker)
   procedure ChangeDateTime(Sender: TObject); override;

procedure TmfUNIXDateTimePicker.ChangeDateTime(Sender: TObject);
begin
 inherited ChangeDateTime(Self);
 FDataLink.Edit;
 FDataLink.Field.AsInteger := DateTimeToUnix(DateTime);  
end;


!!!

Спасибо всем за помощь!



Страницы: 1 вся ветка

Текущий архив: 2006.12.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.032 c
2-1164884539
kulkse
2006-11-30 14:02
2006.12.17
из DBGrid в ListBox


2-1164519655
apic
2006-11-26 08:40
2006.12.17
исполняемый файл в чужой процесс


2-1164913210
nali
2006-11-30 22:00
2006.12.17
Восможен ли запуск второго таймера пока первый не закончил работу


2-1164910514
kirillrepin
2006-11-30 21:15
2006.12.17
сортировка в ListView в режиме Report по SubItems


15-1164428991
IMHO
2006-11-25 07:29
2006.12.17
Почему Центробанк скупает доллары тоннами